about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2013-10-18 18:57:24 +0200
committerPeter Simons <simons@cryp.to>2013-10-18 18:57:24 +0200
commit6be8ad3392d87e277804ddec364377b5341430b7 (patch)
treece8a334fb3611b27336e9602bd248682931016b8 /pkgs
parentea6f711e8ec7208626a084edb81a78ee455a0b67 (diff)
parent06d6c3ed5d061e95d1db92f7eff08d5c1a2181d8 (diff)
downloadnixlib-6be8ad3392d87e277804ddec364377b5341430b7.tar
nixlib-6be8ad3392d87e277804ddec364377b5341430b7.tar.gz
nixlib-6be8ad3392d87e277804ddec364377b5341430b7.tar.bz2
nixlib-6be8ad3392d87e277804ddec364377b5341430b7.tar.lz
nixlib-6be8ad3392d87e277804ddec364377b5341430b7.tar.xz
nixlib-6be8ad3392d87e277804ddec364377b5341430b7.tar.zst
nixlib-6be8ad3392d87e277804ddec364377b5341430b7.zip
Merge branch 'origin/master' into stdenv-updates.
There was a minor conflict in 'stumpwm'. The package needs texinfo
version 4.x. At least is used to, I'm not sure whether it still does.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/a2jmidid/default.nix2
-rw-r--r--pkgs/applications/audio/abcde/default.nix2
-rw-r--r--pkgs/applications/audio/audacious/default.nix2
-rw-r--r--pkgs/applications/audio/aumix/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy/default.nix1
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix2
-rw-r--r--pkgs/applications/audio/snd/default.nix2
-rw-r--r--pkgs/applications/display-managers/slim/default.nix32
-rw-r--r--pkgs/applications/display-managers/slim/run-once.patch12
-rw-r--r--pkgs/applications/display-managers/slim/runtime-paths.patch66
-rw-r--r--pkgs/applications/editors/eclipse/default.nix19
-rw-r--r--pkgs/applications/editors/emacs-modes/coffee/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/color-theme/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/htmlize/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/jade/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/org/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/org2blog/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/rect-mark/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/xml-rpc/default.nix2
-rw-r--r--pkgs/applications/editors/flpsed/default.nix5
-rw-r--r--pkgs/applications/editors/geany/default.nix2
-rw-r--r--pkgs/applications/editors/mg/default.nix2
-rw-r--r--pkgs/applications/editors/sublime/default.nix2
-rw-r--r--pkgs/applications/graphics/jbrout/default.nix1
-rw-r--r--pkgs/applications/graphics/paraview/default.nix6
-rw-r--r--pkgs/applications/misc/abook/default.nix2
-rw-r--r--pkgs/applications/misc/bitcoin/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/freicoin/default.nix4
-rw-r--r--pkgs/applications/misc/gkrellm/default.nix2
-rw-r--r--pkgs/applications/misc/gmrun/default.nix2
-rw-r--r--pkgs/applications/misc/gnome_terminator/default.nix2
-rw-r--r--pkgs/applications/misc/lyx/default.nix2
-rw-r--r--pkgs/applications/misc/mysql-workbench/default.nix2
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix14
-rw-r--r--pkgs/applications/misc/surf/default.nix14
-rw-r--r--pkgs/applications/misc/taskjuggler/default.nix2
-rw-r--r--pkgs/applications/misc/xca/default.nix27
-rw-r--r--pkgs/applications/misc/xfe/default.nix4
-rw-r--r--pkgs/applications/networking/bittorrentsync/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix33
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix5
-rw-r--r--pkgs/applications/networking/browsers/midori/default.nix2
-rw-r--r--pkgs/applications/networking/ids/bro/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/amsn/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/oneteam/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix29
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/skype/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/torchat/default.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix40
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix2
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix11
-rw-r--r--pkgs/applications/networking/jmeter/default.nix27
-rw-r--r--pkgs/applications/networking/p2p/gnunet/svn.nix9
-rw-r--r--pkgs/applications/networking/p2p/transmission/2.60.nix41
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix42
-rw-r--r--pkgs/applications/networking/sniffers/ettercap/default.nix33
-rw-r--r--pkgs/applications/office/abiword/default.nix4
-rw-r--r--pkgs/applications/office/antiword/default.nix2
-rw-r--r--pkgs/applications/office/eventlist/default.nix28
-rw-r--r--pkgs/applications/science/biology/arb/default.nix2
-rw-r--r--pkgs/applications/science/chemistry/avogadro/default.nix3
-rw-r--r--pkgs/applications/science/electronics/alliance/default.nix2
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix2
-rw-r--r--pkgs/applications/science/logic/hol/default.nix36
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix16
-rw-r--r--pkgs/applications/science/logic/logisim/default.nix2
-rw-r--r--pkgs/applications/science/logic/prover9/default.nix4
-rw-r--r--pkgs/applications/science/math/R/default.nix2
-rw-r--r--pkgs/applications/science/math/maxima/default.nix4
-rw-r--r--pkgs/applications/science/math/wxmaxima/default.nix6
-rw-r--r--pkgs/applications/version-management/bazaar/tools.nix2
-rw-r--r--pkgs/applications/version-management/codeville/0.8.0.nix2
-rw-r--r--pkgs/applications/version-management/fossil/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/github-backup/default.nix11
-rw-r--r--pkgs/applications/video/ogmtools/default.nix9
-rw-r--r--pkgs/applications/video/quvi/library.nix2
-rw-r--r--pkgs/applications/video/quvi/scripts.nix2
-rw-r--r--pkgs/applications/video/quvi/tool.nix2
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix2
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix7
-rw-r--r--pkgs/applications/virtualization/virtinst/default.nix2
-rw-r--r--pkgs/applications/window-managers/ion-3/default.nix2
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix61
-rw-r--r--pkgs/applications/window-managers/wmii31/default.nix2
-rw-r--r--pkgs/build-support/builder-defs/builder-defs.nix4
-rw-r--r--pkgs/data/fonts/anonymous-pro/default.nix2
-rw-r--r--pkgs/data/fonts/arkpandora/default.nix2
-rw-r--r--pkgs/data/fonts/lmodern/default.nix4
-rw-r--r--pkgs/data/fonts/redhat-liberation-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/tipa/default.nix2
-rw-r--r--pkgs/data/fonts/unifont/default.nix2
-rw-r--r--pkgs/data/misc/tzdata/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnome/default.nix2
-rw-r--r--pkgs/desktops/kde-4.11/default.nix2
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/4.11.2.nix444
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt (renamed from pkgs/desktops/kde-4.8/kde-package/kde-submodules.xslt)0
-rw-r--r--pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix272
-rw-r--r--pkgs/desktops/kde-4.11/oxygen-icons.nix2
-rw-r--r--pkgs/desktops/kde-4.8/default.nix60
-rw-r--r--pkgs/desktops/kde-4.8/files/kde-wallpapers-buildsystem.patch17
-rw-r--r--pkgs/desktops/kde-4.8/files/polkit-install.patch12
-rw-r--r--pkgs/desktops/kde-4.8/kactivities.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kde-baseapps/kate.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kde-baseapps/kde-baseapps.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kde-baseapps/konsole.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kde-package/4.8.4.nix299
-rw-r--r--pkgs/desktops/kde-4.8/kde-package/default.nix128
-rwxr-xr-xpkgs/desktops/kde-4.8/kde-package/kde-manifest.sh146
-rw-r--r--pkgs/desktops/kde-4.8/kde-runtime.nix19
-rw-r--r--pkgs/desktops/kde-4.8/kde-wallpapers.nix17
-rw-r--r--pkgs/desktops/kde-4.8/kde-workspace.nix37
-rw-r--r--pkgs/desktops/kde-4.8/kdeaccessibility/jovie.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeaccessibility/kaccessible.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeaccessibility/kmag.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeaccessibility/kmousetool.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeaccessibility/kmouth.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeadmin/kcron.nix5
-rw-r--r--pkgs/desktops/kde-4.8/kdeadmin/ksystemlog.nix5
-rw-r--r--pkgs/desktops/kde-4.8/kdeadmin/kuser.nix5
-rw-r--r--pkgs/desktops/kde-4.8/kdeadmin/system-config-printer-kde.nix33
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/ColorSchemes.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/FindXscreensaver.cmake73
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/HighResolutionWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/IconThemes.nix13
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/WeatherWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/aurorae.nix7
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/desktopthemes.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/emoticons.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/kscreensaver.nix15
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/kwin-styles.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/sounds.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/styles.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdeartwork/wallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/perlqt-include-smokeqt.patch19
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/perlqt-rewrite-FindPerlMore.patch118
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/perlqt-use-site-arch-install-dir.patch454
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/perlqt.nix16
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/pykde4-hardcode-lib-python.patch18
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/pykde4-new-sip.patch91
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/pykde4.nix29
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/qtruby-include-smokeqt.patch13
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/qtruby-install-prefix.patch15
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/qtruby.nix16
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/smokegen-nix.patch46
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/smokegen.nix13
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/smokekde.nix12
-rw-r--r--pkgs/desktops/kde-4.8/kdebindings/smokeqt.nix12
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/analitza.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/blinken.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/cantor.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kalgebra.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kalzium.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kanagram.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kbruch.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kgeography.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/khangman.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kig.nix12
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kiten.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/klettres.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kmplot.nix12
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kstars.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/ktouch.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kturtle.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/kwordquiz.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/libkdeedu.nix8
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/marble.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/parley.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/rocs.nix14
-rw-r--r--pkgs/desktops/kde-4.8/kdeedu/step.nix12
-rw-r--r--pkgs/desktops/kde-4.8/kdegames.nix20
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/gwenview.nix15
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/kamera.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/kcolorchooser.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-mobipocket.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-strigi-analyzer.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-thumbnailers.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/kgamma.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/kolourpaint.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/kruler.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/ksaneplugin.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/ksnapshot.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/libkdcraw.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/libkexiv2.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/libkipi.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/libksane.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/okular.nix12
-rw-r--r--pkgs/desktops/kde-4.8/kdegraphics/svgpart.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdelibs.nix38
-rw-r--r--pkgs/desktops/kde-4.8/kdemultimedia.nix15
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/FindmsiLBC.cmake19
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/filesharing.nix7
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/kdenetwork.patch24
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/kdnssd.nix7
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/kfile-plugins.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/kget.nix13
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/kopete.nix24
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/kppp.nix7
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/krdc.nix7
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/krfb.nix7
-rw-r--r--pkgs/desktops/kde-4.8/kdepim-runtime.nix12
-rw-r--r--pkgs/desktops/kde-4.8/kdepim.nix21
-rw-r--r--pkgs/desktops/kde-4.8/kdepimlibs.nix16
-rw-r--r--pkgs/desktops/kde-4.8/kdeplasma-addons.nix20
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/cervisia.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-bazaar.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-git.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-hg.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-svn.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/find-svn.patch57
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kapptemplate.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kcachegrind.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kdeaccounts-plugin.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kioslave-perldoc.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kioslave-svn.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kmtrace.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kompare.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kpartloader.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kprofilemethod.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kstartperf.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/kuiviewer.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/lokalize.nix13
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/okteta.nix13
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/poxml.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/scripts.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/strigi-analyzer.nix13
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/umbrello.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdetoys/amor.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdetoys/kteatime.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdetoys/ktux.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/ark.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/filelight.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/kcalc.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/kcharselect.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/kdf.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/kfloppy.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/kgpg.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/kremotecontrol.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/ktimer.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/kwallet.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/printer-applet.nix28
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix11
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/sweeper.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kdewebdev/kfilereplace.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdewebdev/kimagemapeditor.nix10
-rw-r--r--pkgs/desktops/kde-4.8/kdewebdev/klinkstatus.nix12
-rw-r--r--pkgs/desktops/kde-4.8/kdewebdev/kommander.nix9
-rw-r--r--pkgs/desktops/kde-4.8/l10n/default.nix45
-rwxr-xr-xpkgs/desktops/kde-4.8/l10n/l10n-manifest.sh32
-rw-r--r--pkgs/desktops/kde-4.8/l10n/manifest-4.8.4.nix277
-rw-r--r--pkgs/desktops/kde-4.8/oxygen-icons.nix15
-rw-r--r--pkgs/desktops/kde-4.8/support/akonadi/default.nix24
-rw-r--r--pkgs/development/arduino/ino/default.nix3
-rw-r--r--pkgs/development/compilers/aldor/default.nix2
-rw-r--r--pkgs/development/compilers/clean/default.nix2
-rw-r--r--pkgs/development/compilers/edk2/default.nix12
-rw-r--r--pkgs/development/compilers/gwt/2.4.0.nix2
-rw-r--r--pkgs/development/compilers/idris/default.nix21
-rw-r--r--pkgs/development/compilers/jdk/dlj-bundle-builder.sh5
-rw-r--r--pkgs/development/compilers/jdk/jdk6-linux.nix12
-rw-r--r--pkgs/development/compilers/julia/default.nix8
-rw-r--r--pkgs/development/compilers/mlton/default.nix2
-rw-r--r--pkgs/development/compilers/sbcl/default.nix8
-rw-r--r--pkgs/development/compilers/urweb/default.nix2
-rw-r--r--pkgs/development/compilers/yap/default.nix2
-rw-r--r--pkgs/development/interpreters/angelscript/default.nix2
-rw-r--r--pkgs/development/interpreters/clisp/default.nix5
-rw-r--r--pkgs/development/interpreters/falcon/default.nix2
-rw-r--r--pkgs/development/interpreters/hiphopvm/default.nix2
-rw-r--r--pkgs/development/interpreters/lua-4/default.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/5.0.3.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.nix2
-rw-r--r--pkgs/development/interpreters/php/5.4.nix4
-rw-r--r--pkgs/development/interpreters/pure/default.nix14
-rw-r--r--pkgs/development/interpreters/pure/new-gcc.patch62
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix5
-rw-r--r--pkgs/development/interpreters/python/2.7/default.nix5
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix29
-rw-r--r--pkgs/development/interpreters/racket/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2/default.nix56
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix54
-rw-r--r--pkgs/development/libraries/SDL2_image/default.nix27
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix20
-rw-r--r--pkgs/development/libraries/Xaw3d/default.nix4
-rw-r--r--pkgs/development/libraries/a52dec/default.nix1
-rw-r--r--pkgs/development/libraries/aalib/default.nix4
-rw-r--r--pkgs/development/libraries/agg/default.nix2
-rw-r--r--pkgs/development/libraries/apache-activemq/default.nix4
-rw-r--r--pkgs/development/libraries/aspell/default.nix2
-rw-r--r--pkgs/development/libraries/atk/default.nix2
-rw-r--r--pkgs/development/libraries/attica/default.nix2
-rw-r--r--pkgs/development/libraries/aubio/default.nix2
-rw-r--r--pkgs/development/libraries/audiofile/default.nix2
-rw-r--r--pkgs/development/libraries/avahi/default.nix2
-rw-r--r--pkgs/development/libraries/bwidget/default.nix2
-rw-r--r--pkgs/development/libraries/classads/default.nix2
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix12
-rw-r--r--pkgs/development/libraries/clucene-core/default.nix12
-rw-r--r--pkgs/development/libraries/cogl/default.nix2
-rw-r--r--pkgs/development/libraries/coin3d/default.nix3
-rw-r--r--pkgs/development/libraries/eventlog/default.nix10
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix2
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix6
-rw-r--r--pkgs/development/libraries/gnutls/3.2.nix73
-rw-r--r--pkgs/development/libraries/gssdp/default.nix2
-rw-r--r--pkgs/development/libraries/gurobi/default.nix25
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.18.1.1.nix (renamed from pkgs/development/libraries/haskell/Cabal/1.18.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/ChasingBottoms/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLFW/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.8.nix1
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/accelerate-fft/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/accelerate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/aeson/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bifunctors/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/bindings-DSL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bindings-libusb/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/charset/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cipher-aes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cipher-blowfish/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cipher-camellia/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cipher-des/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cipher-rc4/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/citeproc-hs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/comonad-transformers/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/comonad/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/comonads-fd/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/connection/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/constraints/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-cipher-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cryptohash/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/cufft/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/distributive/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/either/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/errors/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/file-embed/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/free/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/groupoids/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix36
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix4
-rw-r--r--pkgs/development/libraries/haskell/hashtables/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-meta/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haxr/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/heist/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hflags/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hjsmin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hslua/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/intervals/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/keys/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/lens/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/3.3.5.nix21
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/default.nix (renamed from pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix)0
-rw-r--r--pkgs/development/libraries/haskell/math-functions/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mwc-random/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-conduit-tls/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/network/2.4.2.0.nix20
-rw-r--r--pkgs/development/libraries/haskell/numbers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pandoc-citeproc/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/pandoc-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/parsers/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pointed/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/profunctor-extras/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/profunctors/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/reducers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/resourcet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/semigroupoid-extras/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/semigroupoids/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/setenv/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/shake/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-css/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-js/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-text/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix1
-rw-r--r--pkgs/development/libraries/haskell/socks/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/system-filepath/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/test-framework-hunit/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/test-framework/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/th-lift/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/th-orphans/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tls-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/trifecta/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/usb/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/utf8-light/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/uuid/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-platform/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/default.nix8
-rw-r--r--pkgs/development/libraries/jansson/default.nix2
-rw-r--r--pkgs/development/libraries/leveldb/default.nix2
-rw-r--r--pkgs/development/libraries/libav/default.nix2
-rw-r--r--pkgs/development/libraries/libdevil/default.nix2
-rw-r--r--pkgs/development/libraries/libid3tag/default.nix2
-rw-r--r--pkgs/development/libraries/libjson-rpc-cpp/default.nix28
-rw-r--r--pkgs/development/libraries/liblockfile/default.nix2
-rw-r--r--pkgs/development/libraries/libmcrypt/default.nix2
-rw-r--r--pkgs/development/libraries/libmemcached/default.nix2
-rw-r--r--pkgs/development/libraries/libnet/default.nix18
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix2
-rw-r--r--pkgs/development/libraries/libnfnetlink/default.nix2
-rw-r--r--pkgs/development/libraries/liboop/default.nix2
-rw-r--r--pkgs/development/libraries/librdf/default.nix2
-rw-r--r--pkgs/development/libraries/libsodium/default.nix21
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix36
-rw-r--r--pkgs/development/libraries/libusb1/default.nix2
-rw-r--r--pkgs/development/libraries/libyaml-cpp/0.3.x.nix18
-rw-r--r--pkgs/development/libraries/libyaml-cpp/default.nix18
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix2
-rw-r--r--pkgs/development/libraries/phonon-backend-vlc/default.nix2
-rw-r--r--pkgs/development/libraries/polkit/default.nix2
-rw-r--r--pkgs/development/libraries/qhull/default.nix2
-rw-r--r--pkgs/development/libraries/sfml/default.nix7
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix21
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix2
-rw-r--r--pkgs/development/libraries/tinyxml/2.6.2.nix2
-rw-r--r--pkgs/development/libraries/v8/default.nix2
-rw-r--r--pkgs/development/libraries/vcdimager/default.nix2
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix40
-rw-r--r--pkgs/development/lisp-modules/asdf/default.upstream2
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/cl-wrapper.sh44
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/common-lisp.sh3
-rw-r--r--pkgs/development/lisp-modules/clwrapper/default.nix28
-rw-r--r--pkgs/development/lisp-modules/clwrapper/setup-hook.sh33
-rw-r--r--pkgs/development/lisp-modules/define-package.nix45
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix49
-rw-r--r--pkgs/development/lisp-modules/stumpwm/default.nix33
-rw-r--r--pkgs/development/misc/avr-gcc-with-avr-libc/default.nix2
-rw-r--r--pkgs/development/mobile/androidenv/build-app.nix9
-rw-r--r--pkgs/development/mobile/xcodeenv/xcodewrapper.nix3
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sexplib/default.nix2
-rw-r--r--pkgs/development/perl-modules/maatkit/default.nix10
-rw-r--r--pkgs/development/python-modules/blivet/default.nix1
-rw-r--r--pkgs/development/python-modules/buildout-nix/nix.patch25
-rw-r--r--pkgs/development/python-modules/pyside/default.nix2
-rw-r--r--pkgs/development/python-modules/pyside/tools.nix2
-rw-r--r--pkgs/development/qtcreator/default.nix10
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix7
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix2
-rw-r--r--pkgs/development/tools/analysis/jdepend/default.nix2
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/from-source.nix2
-rw-r--r--pkgs/development/tools/build-managers/colormake/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix2
-rw-r--r--pkgs/development/tools/casperjs/default.nix4
-rw-r--r--pkgs/development/tools/haskell/packunused/default.nix5
-rw-r--r--pkgs/development/tools/misc/astyle/default.nix2
-rw-r--r--pkgs/development/tools/misc/autobuild/default.nix2
-rw-r--r--pkgs/development/tools/misc/autoconf/2.13.nix2
-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.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.11.x.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.12.x.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.13.x.nix2
-rw-r--r--pkgs/development/tools/misc/avarice/default.nix2
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix2
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix2
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix2
-rw-r--r--pkgs/games/anki/default.nix2
-rw-r--r--pkgs/games/blobby/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/default.nix88
-rw-r--r--pkgs/games/dwarf-therapist/default.nix60
-rw-r--r--pkgs/games/extremetuxracer/default.nix5
-rw-r--r--pkgs/games/freeciv/default.nix2
-rw-r--r--pkgs/games/gtypist/default.nix2
-rw-r--r--pkgs/games/minetest/default.nix2
-rw-r--r--pkgs/games/sdlmame/default.nix44
-rw-r--r--pkgs/games/spring/default.nix4
-rw-r--r--pkgs/games/spring/springlobby.nix2
-rw-r--r--pkgs/games/super-tux/default.nix2
-rw-r--r--pkgs/games/unvanquished/default.nix2
-rw-r--r--pkgs/games/warsow/default.nix2
-rw-r--r--pkgs/games/worldofgoo/default.nix1
-rw-r--r--pkgs/lib/attrsets.nix329
-rw-r--r--pkgs/lib/composable-derivation.nix54
-rw-r--r--pkgs/lib/customisation.nix116
-rw-r--r--pkgs/lib/debug.nix119
-rw-r--r--pkgs/lib/default.nix31
-rw-r--r--pkgs/lib/licenses.nix235
-rw-r--r--pkgs/lib/lists.nix235
-rw-r--r--pkgs/lib/maintainers.nix65
-rw-r--r--pkgs/lib/meta.nix48
-rw-r--r--pkgs/lib/misc.nix431
-rw-r--r--pkgs/lib/modules.nix380
-rw-r--r--pkgs/lib/options.nix315
-rw-r--r--pkgs/lib/platforms.nix16
-rw-r--r--pkgs/lib/properties.nix464
-rw-r--r--pkgs/lib/sources.nix29
-rw-r--r--pkgs/lib/strings-with-deps.nix78
-rw-r--r--pkgs/lib/strings.nix190
-rw-r--r--pkgs/lib/systems.nix126
-rw-r--r--pkgs/lib/tests.nix113
-rw-r--r--pkgs/lib/trivial.nix38
-rw-r--r--pkgs/lib/types.nix226
-rw-r--r--pkgs/misc/emulators/hatari/default.nix2
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix2
-rw-r--r--pkgs/os-specific/linux/acpi/default.nix1
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix2
-rw-r--r--pkgs/os-specific/linux/dstat/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.11.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix18
-rw-r--r--pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch22
-rw-r--r--pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch23
-rw-r--r--pkgs/os-specific/linux/lxc/support-db2x.patch41
-rw-r--r--pkgs/os-specific/linux/pam_ccreds/default.nix2
-rw-r--r--pkgs/os-specific/linux/pam_krb5/default.nix6
-rw-r--r--pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch26
-rw-r--r--pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch25
-rw-r--r--pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch32
-rw-r--r--pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch74
-rw-r--r--pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch33
-rw-r--r--pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch38
-rw-r--r--pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch37
-rw-r--r--pkgs/os-specific/linux/systemd/0008-Don-t-try-to-unmount-nix-or-nix-store.patch28
-rw-r--r--pkgs/os-specific/linux/systemd/0009-Start-ctrl-alt-del.target-irreversibly.patch27
-rw-r--r--pkgs/os-specific/linux/systemd/0010-Fix-CPUShares-configuration-option.patch27
-rw-r--r--pkgs/os-specific/linux/systemd/0011-polkit-Avoid-race-condition-in-scraping-proc.patch75
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix17
-rw-r--r--pkgs/os-specific/linux/systemd/fix-tests-1.patch68
-rw-r--r--pkgs/os-specific/linux/systemd/fixes.patch757
-rw-r--r--pkgs/os-specific/linux/systemd/no-global-install.patch26
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix14
-rw-r--r--pkgs/os-specific/linux/x86info/default.nix2
-rw-r--r--pkgs/servers/apcupsd/default.nix2
-rw-r--r--pkgs/servers/computing/storm/default.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_evasive/default.nix3
-rw-r--r--pkgs/servers/http/nginx/default.nix4
-rw-r--r--pkgs/servers/icecast/default.nix2
-rw-r--r--pkgs/servers/mail/dovecot-pigeonhole/default.nix2
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix8
-rw-r--r--pkgs/servers/monitoring/zabbix/default.nix4
-rw-r--r--pkgs/servers/mpd/default.nix6
-rw-r--r--pkgs/servers/pulseaudio/default.nix4
-rw-r--r--pkgs/servers/sabnzbd/default.nix2
-rw-r--r--pkgs/servers/sql/mysql/5.1.x.nix (renamed from pkgs/servers/sql/mysql51/default.nix)4
-rw-r--r--pkgs/servers/sql/mysql/5.5.x.nix (renamed from pkgs/servers/sql/mysql55/default.nix)4
-rw-r--r--pkgs/servers/sql/mysql/abi_check.patch (renamed from pkgs/servers/sql/mysql51/abi_check.patch)0
-rw-r--r--pkgs/servers/sql/mysql/default.nix16
-rw-r--r--pkgs/servers/sql/mysql5/default.nix34
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.2.x.nix4
-rw-r--r--pkgs/servers/varnish/default.nix2
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix6
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch75
-rw-r--r--pkgs/stdenv/generic/default.nix2
-rw-r--r--pkgs/tools/X11/autocutsel/default.nix2
-rw-r--r--pkgs/tools/X11/bgs/default.nix2
-rw-r--r--pkgs/tools/X11/keynav/default.nix2
-rw-r--r--pkgs/tools/X11/winswitch/default.nix2
-rw-r--r--pkgs/tools/X11/x2x/default.nix2
-rw-r--r--pkgs/tools/X11/xpra/default.nix1
-rw-r--r--pkgs/tools/admin/analog/default.nix2
-rw-r--r--pkgs/tools/backup/httrack/default.nix2
-rw-r--r--pkgs/tools/backup/obnam/default.nix2
-rw-r--r--pkgs/tools/backup/rsnapshot/default.nix22
-rw-r--r--pkgs/tools/compression/gzrt/default.nix23
-rw-r--r--pkgs/tools/filesystems/archivemount/default.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/default.nix1
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix2
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix10
-rw-r--r--pkgs/tools/graphics/dmtx/default.nix2
-rw-r--r--pkgs/tools/misc/autojump/default.nix2
-rw-r--r--pkgs/tools/misc/autorandr/default.nix40
-rw-r--r--pkgs/tools/misc/byobu/default.nix2
-rw-r--r--pkgs/tools/misc/detox/default.nix2
-rw-r--r--pkgs/tools/misc/disper/default.nix2
-rw-r--r--pkgs/tools/misc/fdupes/default.nix2
-rw-r--r--pkgs/tools/misc/gnuvd/default.nix2
-rw-r--r--pkgs/tools/misc/grc/default.nix2
-rw-r--r--pkgs/tools/misc/gsmartcontrol/default.nix11
-rw-r--r--pkgs/tools/misc/gummiboot/default.nix21
-rw-r--r--pkgs/tools/misc/gummiboot/no-usr.patch79
-rw-r--r--pkgs/tools/misc/hdf5/default.nix4
-rw-r--r--pkgs/tools/misc/mcrypt/default.nix7
-rw-r--r--pkgs/tools/misc/ncdu/default.nix2
-rw-r--r--pkgs/tools/misc/plantuml/default.nix37
-rw-r--r--pkgs/tools/misc/ponysay/default.nix2
-rw-r--r--pkgs/tools/misc/pv/default.nix4
-rw-r--r--pkgs/tools/misc/refind/default.nix4
-rw-r--r--pkgs/tools/misc/ttmkfdir/default.nix2
-rw-r--r--pkgs/tools/misc/unclutter/default.nix2
-rw-r--r--pkgs/tools/misc/units/default.nix2
-rw-r--r--pkgs/tools/misc/venus/default.nix7
-rw-r--r--pkgs/tools/networking/aria/default.nix2
-rw-r--r--pkgs/tools/networking/axel/default.nix2
-rw-r--r--pkgs/tools/networking/bwm-ng/default.nix2
-rw-r--r--pkgs/tools/networking/chrony/default.nix2
-rw-r--r--pkgs/tools/networking/connect/default.nix2
-rw-r--r--pkgs/tools/networking/filegive/default.nix4
-rw-r--r--pkgs/tools/networking/fping/default.nix2
-rw-r--r--pkgs/tools/networking/gmvault/default.nix2
-rw-r--r--pkgs/tools/networking/haproxy/default.nix10
-rw-r--r--pkgs/tools/networking/mosh/default.nix10
-rw-r--r--pkgs/tools/networking/mu/default.nix2
-rw-r--r--pkgs/tools/networking/netrw/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager/default.nix3
-rw-r--r--pkgs/tools/networking/nylon/default.nix2
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix2
-rw-r--r--pkgs/tools/networking/p2p/amule/default.nix2
-rw-r--r--pkgs/tools/networking/p2p/bit-tornado/default.nix2
-rw-r--r--pkgs/tools/networking/pdsh/default.nix2
-rw-r--r--pkgs/tools/networking/proxychains/default.nix2
-rw-r--r--pkgs/tools/networking/trickle/default.nix2
-rw-r--r--pkgs/tools/networking/unbound/default.nix2
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/package-management/nixops/default.nix4
-rw-r--r--pkgs/tools/security/apg/default.nix2
-rw-r--r--pkgs/tools/security/clamav/default.nix2
-rw-r--r--pkgs/tools/security/fail2ban/default.nix9
-rw-r--r--pkgs/tools/security/gnupg/default.nix6
-rw-r--r--pkgs/tools/security/gnupg1/default.nix27
-rw-r--r--pkgs/tools/security/haveged/default.nix27
-rw-r--r--pkgs/tools/security/prey/default.nix46
-rw-r--r--pkgs/tools/security/pwgen/default.nix4
-rw-r--r--pkgs/tools/security/seccure/default.nix (renamed from pkgs/tools/security/seccure/0.4.nix)0
-rw-r--r--pkgs/tools/security/sshuttle/default.nix34
-rw-r--r--pkgs/tools/security/tor/torsocks.nix13
-rw-r--r--pkgs/tools/security/torbutton/default.nix7
-rw-r--r--pkgs/tools/system/gptfdisk/default.nix13
-rw-r--r--pkgs/tools/system/logcheck/default.nix2
-rw-r--r--pkgs/tools/system/lshw/default.nix2
-rw-r--r--pkgs/tools/system/pciutils/default.nix7
-rw-r--r--pkgs/tools/system/rsyslog/default.nix3
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix3
-rw-r--r--pkgs/tools/system/vboot_reference/default.nix2
-rw-r--r--pkgs/tools/text/wgetpaste/default.nix2
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/default.nix20
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/no-Boolean-type.patch20
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix84
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/dblatex/default.nix45
-rw-r--r--pkgs/tools/typesetting/tex/texlive/aggregate.nix17
-rw-r--r--pkgs/tools/typesetting/tex/texlive/cm-super.nix20
-rw-r--r--pkgs/tools/typesetting/tex/texlive/context.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix52
-rw-r--r--pkgs/tools/typesetting/tex/texlive/extra.nix6
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderncv.nix6
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderntimeline.nix6
-rw-r--r--pkgs/tools/typesetting/tex/texlive/pgf.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/xcolor.nix12
-rw-r--r--pkgs/top-level/all-packages.nix177
-rw-r--r--pkgs/top-level/haskell-packages.nix33
-rw-r--r--pkgs/top-level/make-tarball.nix17
-rw-r--r--pkgs/top-level/node-packages-generated.nix1232
-rw-r--r--pkgs/top-level/node-packages.json9
-rw-r--r--pkgs/top-level/python-packages-generated.nix1028
-rw-r--r--pkgs/top-level/python-packages.json13
-rw-r--r--pkgs/top-level/python-packages.nix34
690 files changed, 6162 insertions, 9673 deletions
diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix
index ca8565ac3238..f6c17e6d8ed5 100644
--- a/pkgs/applications/audio/a2jmidid/default.nix
+++ b/pkgs/applications/audio/a2jmidid/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://home.gna.org/a2jmidid;
-    description = "daemon for exposing legacy ALSA sequencer applications in JACK MIDI system";
+    description = "Daemon for exposing legacy ALSA sequencer applications in JACK MIDI system";
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
 
diff --git a/pkgs/applications/audio/abcde/default.nix b/pkgs/applications/audio/abcde/default.nix
index c6b5e9da0dd7..031b0fe93b59 100644
--- a/pkgs/applications/audio/abcde/default.nix
+++ b/pkgs/applications/audio/abcde/default.nix
@@ -62,7 +62,7 @@ in
     meta = {
       homepage = "http://lly.org/~rcw/abcde/page/";
       license = "GPLv2+";
-      description = "A Better CD Encoder (ABCDE)";
+      description = "Command-line audio CD ripper";
 
       longDescription = ''
         abcde is a front-end command-line utility (actually, a shell
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index 9ae2fcdd20ed..6846607d61db 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = {
-    description = "Audacious, a media player forked from the Beep Media Player, which was itself an XMMS fork";
+    description = "Audio player";
     homepage = http://audacious-media-player.org/;
     maintainers = with stdenv.lib.maintainers; [ eelco simons ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/audio/aumix/default.nix b/pkgs/applications/audio/aumix/default.nix
index d69d9d471336..1e19a3ac5c39 100644
--- a/pkgs/applications/audio/aumix/default.nix
+++ b/pkgs/applications/audio/aumix/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     ++ (if gtkGUI then [pkgconfig gtk] else []);
 
   meta = {
-    description = "Aumix, an audio mixer for X and the console";
+    description = "Audio mixer for X and the console";
     longDescription = ''
       Aumix adjusts an audio mixer from X, the console, a terminal,
       the command line or a script.
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 089751947cc4..611d9f4226dd 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -39,5 +39,6 @@ pythonPackages.buildPythonPackage rec {
       local hard drive.
     '';
     maintainers = [ stdenv.lib.maintainers.rickynils ];
+    platforms = [];
   };
 }
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index d9554d5f7249..9f4859d6e070 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage {
   '';
 
   meta = {
-    description = "Quod Libet is a GTK+-based audio player written in Python, using the Mutagen tagging library.";
+    description = "GTK+-based audio player written in Python, using the Mutagen tagging library";
 
     longDescription = ''
       Quod Libet is a GTK+-based audio player written in Python, using
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index fe32aca029bc..a49bfd9cccf4 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -51,7 +51,7 @@ rec {
 
   name = "snd-" + version;
   meta = {
-    description = "Snd sound editor.";
+    description = "Sound editor";
     homepage = http://ccrma.stanford.edu/software/snd;
     inherit src;
   };
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
index 9d5c728de262..0b5bcccfb21a 100644
--- a/pkgs/applications/display-managers/slim/default.nix
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -1,29 +1,37 @@
-{ stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng, libXmu
+{ stdenv, fetchurl, cmake, pkgconfig, xorg, libjpeg, libpng
 , fontconfig, freetype, pam, dbus_libs }:
 
 stdenv.mkDerivation rec {
-  name = "slim-1.3.4";
+  name = "slim-1.3.6";
 
   src = fetchurl {
     url = "http://download.berlios.de/slim/${name}.tar.gz";
-    sha256 = "00fmrg2v41jnqhx0yc1kv97xxh5gai18n0i4as9g1fcq1i32cp0m";
+    sha256 = "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1";
   };
 
-  patches = [
-    # Allow the paths of the configuration file and theme directory to
-    # be set at runtime.
-    ./runtime-paths.patch
-  ];
+  patches =
+    [ # Allow the paths of the configuration file and theme directory to
+      # be set at runtime.
+      ./runtime-paths.patch
 
-  buildInputs =
-    [ cmake pkgconfig x11 libjpeg libpng libXmu fontconfig freetype
-      pam dbus_libs
+      # Exit after the user's session has finished.  This works around
+      # slim's broken PAM session handling (see
+      # http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
+      ./run-once.patch
     ];
 
-  preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
+  preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc --replace /lib $out/lib";
 
   cmakeFlags = [ "-DUSE_PAM=1" ];
 
+  enableParallelBuilding = true;
+
+  buildInputs =
+    [ cmake pkgconfig libjpeg libpng fontconfig freetype
+      pam dbus_libs
+      xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft
+    ];
+
   NIX_CFLAGS_LINK = "-lXmu";
 
   meta = {
diff --git a/pkgs/applications/display-managers/slim/run-once.patch b/pkgs/applications/display-managers/slim/run-once.patch
new file mode 100644
index 000000000000..78f1454a883e
--- /dev/null
+++ b/pkgs/applications/display-managers/slim/run-once.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
+--- slim-1.3.6-orig/app.cpp	2013-10-15 11:02:55.629263422 +0200
++++ slim-1.3.6/app.cpp	2013-10-15 13:00:10.141210784 +0200
+@@ -816,7 +822,7 @@
+ 	StopServer();
+ 	RemoveLock();
+ 	while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
+-	Run();
++	exit(OK_EXIT);
+ }
+ 
+ void App::KillAllClients(Bool top) {
diff --git a/pkgs/applications/display-managers/slim/runtime-paths.patch b/pkgs/applications/display-managers/slim/runtime-paths.patch
index b59b32f31114..f6811dbe6682 100644
--- a/pkgs/applications/display-managers/slim/runtime-paths.patch
+++ b/pkgs/applications/display-managers/slim/runtime-paths.patch
@@ -1,41 +1,25 @@
-diff -rc slim-1.2.6-orig/app.cpp slim-1.2.6/app.cpp
-*** slim-1.2.6-orig/app.cpp	Fri Sep 15 23:00:37 2006
---- slim-1.2.6/app.cpp	Sun Feb 25 17:30:50 2007
-***************
-*** 113,119 ****
-  
-      // Read configuration and theme
-      cfg = new Cfg;
-!     cfg->readConf(CFGFILE);
-      string themebase = "";
-      string themefile = "";
-      string themedir = "";
---- 113,121 ----
-  
-      // Read configuration and theme
-      cfg = new Cfg;
-!     char *cfgfile = getenv("SLIM_CFGFILE");
-!     if (!cfgfile) cfgfile = CFGFILE;
-!     cfg->readConf(cfgfile);
-      string themebase = "";
-      string themefile = "";
-      string themedir = "";
-***************
-*** 121,127 ****
-      if (testing) {
-          themeName = testtheme;
-      } else {
-!         themebase = string(THEMESDIR) + "/";
-          themeName = cfg->getOption("current_theme");
-          string::size_type pos;
-          if ((pos = themeName.find(",")) != string::npos) {
---- 123,131 ----
-      if (testing) {
-          themeName = testtheme;
-      } else {
-!         char *themesdir = getenv("SLIM_THEMESDIR");
-!         if (!themesdir) themesdir = THEMESDIR;
-!         themebase = string(themesdir) + "/";
-          themeName = cfg->getOption("current_theme");
-          string::size_type pos;
-          if ((pos = themeName.find(",")) != string::npos) {
+diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
+--- slim-1.3.6-orig/app.cpp	2013-10-02 00:38:05.000000000 +0200
++++ slim-1.3.6/app.cpp	2013-10-15 11:02:55.629263422 +0200
+@@ -200,7 +200,9 @@
+ 
+ 	/* Read configuration and theme */
+ 	cfg = new Cfg;
+-	cfg->readConf(CFGFILE);
++	char *cfgfile = getenv("SLIM_CFGFILE");
++	if (!cfgfile) cfgfile = CFGFILE;
++	cfg->readConf(cfgfile);
+ 	string themebase = "";
+ 	string themefile = "";
+ 	string themedir = "";
+@@ -208,7 +210,9 @@
+ 	if (testing) {
+ 		themeName = testtheme;
+ 	} else {
+-		themebase = string(THEMESDIR) + "/";
++		char *themesdir = getenv("SLIM_THEMESDIR");
++		if (!themesdir) themesdir = THEMESDIR;
++		themebase = string(themesdir) + "/";
+ 		themeName = cfg->getOption("current_theme");
+ 		string::size_type pos;
+ 		if ((pos = themeName.find(",")) != string::npos) {
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 21dad42ea46d..fe3c74249072 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -32,8 +32,9 @@ let
 
         # Patch binaries.
         interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+        libCairo=$out/eclipse/libcairo-swt.so
         patchelf --set-interpreter $interpreter $out/eclipse/eclipse
-        patchelf --set-rpath ${freetype}/lib:${fontconfig}/lib:${libX11}/lib:${libXrender}/lib:${zlib}/lib $out/eclipse/libcairo-swt.so
+        [ -f $libCairo ] && patchelf --set-rpath ${freetype}/lib:${fontconfig}/lib:${libX11}/lib:${libXrender}/lib:${zlib}/lib $libCairo
 
         # Create wrapper script.  Pass -configuration to store
         # settings in ~/.eclipse/org.eclipse.platform_<version> rather
@@ -205,4 +206,20 @@ in {
         };
     };
   };
+
+  eclipse_sdk_431 = buildEclipse {
+    name = "eclipse-sdk-4.3.1";
+    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;
+          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;
+          sha256 = "1zxsh838khny7mvl01h28xna6xdh01yi4mvls28zj22v0340lgsg";
+        };
+    };
+  };
+
 }
diff --git a/pkgs/applications/editors/emacs-modes/coffee/default.nix b/pkgs/applications/editors/emacs-modes/coffee/default.nix
index c40b3d4cd650..a0ba61431655 100644
--- a/pkgs/applications/editors/emacs-modes/coffee/default.nix
+++ b/pkgs/applications/editors/emacs-modes/coffee/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "An Emacs major mode for CoffeeScript, unfancy JavaScript.";
+    description = "Emacs major mode for CoffeeScript, unfancy JavaScript";
     homepage = https://github.com/defunkt/coffee-mode;
     license = "GPLv2+";
 
diff --git a/pkgs/applications/editors/emacs-modes/color-theme/default.nix b/pkgs/applications/editors/emacs-modes/color-theme/default.nix
index 327e11bf0862..bad277d61ce3 100644
--- a/pkgs/applications/editors/emacs-modes/color-theme/default.nix
+++ b/pkgs/applications/editors/emacs-modes/color-theme/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   installTargets = "install-bin";
 
   meta = {
-    description = "An emacs-lisp mode for skinning your emacs.";
+    description = "Emacs-lisp mode for skinning your Emacs";
     homepage = http://www.nongnu.org/color-theme;
     license = "GPLv2+";
 
diff --git a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix
index 0a26e8fd43df..4b2692a5e22a 100644
--- a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix
+++ b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Displays flymake error msg in minibuffer after delay.";
+    description = "Displays flymake error msg in minibuffer after delay";
     homepage = http://www.emacswiki.org/emacs/flymake-cursor.el;
     license = stdenv.lib.licenses.publicDomain;
 
diff --git a/pkgs/applications/editors/emacs-modes/htmlize/default.nix b/pkgs/applications/editors/emacs-modes/htmlize/default.nix
index d4c428e5a1e5..96cc4e040c4f 100644
--- a/pkgs/applications/editors/emacs-modes/htmlize/default.nix
+++ b/pkgs/applications/editors/emacs-modes/htmlize/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "Convert buffer text and decorations to HTML.";
+    description = "Convert buffer text and decorations to HTML";
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/jade/default.nix b/pkgs/applications/editors/emacs-modes/jade/default.nix
index 0c99ceaca22b..ab0e3512ef28 100644
--- a/pkgs/applications/editors/emacs-modes/jade/default.nix
+++ b/pkgs/applications/editors/emacs-modes/jade/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "Emacs major mode for jade and stylus.";
+    description = "Emacs major mode for jade and stylus";
     homepage = https://github.com/brianc/jade-mode;
     license = "GPLv2+";
 
diff --git a/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix b/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix
index 94427537003b..72086e54fece 100644
--- a/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix
+++ b/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Insert dummy pseudo Latin text for emacs.";
+    description = "Insert dummy pseudo Latin text for Emacs";
     homepage = http://www.emacswiki.org/emacs/LoremIpsum;
     license = "GPLv2+";
 
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index df78be6adacc..ad2bd2f0ba6a 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "org-8.2.1";
-  
+
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
     sha256 = "625e2b6786158bcf6c43194075f7638ab8048c68a60025289a051c407e467823";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   configurePhase =
     '' sed -i mk/default.mk \
-           -e "s|^prefix\t=.*$|prefix=$out|g"
+           -e "s|^prefix\t=.*$|prefix=$out/share|g"
     '';
 
   postBuild =
diff --git a/pkgs/applications/editors/emacs-modes/org2blog/default.nix b/pkgs/applications/editors/emacs-modes/org2blog/default.nix
index c8c538c5cb7c..e72560be8f44 100644
--- a/pkgs/applications/editors/emacs-modes/org2blog/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org2blog/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A tool to publish directly from Emacs’ org-mode to WordPress blogs.";
+    description = "Publish directly from Emacs’ org-mode to WordPress blogs";
     homepage = https://github.com/punchagan/org2blog;
     license = "GPLv3+";
 
diff --git a/pkgs/applications/editors/emacs-modes/rect-mark/default.nix b/pkgs/applications/editors/emacs-modes/rect-mark/default.nix
index ac01e02b4334..896dbdac71be 100644
--- a/pkgs/applications/editors/emacs-modes/rect-mark/default.nix
+++ b/pkgs/applications/editors/emacs-modes/rect-mark/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Mark a rectangle of text with highlighting.";
+    description = "Mark a rectangle of text with highlighting";
     homepage = http://emacswiki.org/emacs/RectangleMark;
     license = "GPLv2+";
 
diff --git a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
index a253e25cad45..e942189714ea 100644
--- a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
+++ b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Two-pane file manager for Emacs based on Dired and inspired by MC.";
+    description = "Two-pane file manager for Emacs based on Dired and inspired by MC";
     homepage = http://www.emacswiki.org/emacs/Sunrise_Commander;
     license = "GPLv3+";
 
diff --git a/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix b/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix
index 87a732b5b4ca..cee0f0ca5534 100644
--- a/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix
+++ b/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "An elisp implementation of clientside XML-RPC.";
+    description = "Elisp implementation of clientside XML-RPC";
     homepage = https://launchpad.net/xml-rpc-el;
     license = "GPLv3+";
 
diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix
index ca481f1081d3..15605218b741 100644
--- a/pkgs/applications/editors/flpsed/default.nix
+++ b/pkgs/applications/editors/flpsed/default.nix
@@ -11,10 +11,9 @@ stdenv.mkDerivation {
   buildInputs = [ fltk13 ghostscript ];
 
   meta = {
-    description = "A WYSIWYG PostScript annotator.";
+    description = "WYSIWYG PostScript annotator";
     homepage = "http://http://flpsed.org/flpsed.html";
     license = "GPLv3";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.mesaPlatforms;
   };
-
 }
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index 6d43cc279975..e7c8e276d27b 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   meta = {
-    description = "A GTK2 small and ligthweight IDE.";
+    description = "Small and lightweight IDE";
     longDescription = ''
       Geany is a small and lightweight Integrated Development Environment.
       It was developed to provide a small and fast IDE, which has only a few dependencies from other packages.
diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix
index ce69b5c0b5ae..058a54c45a71 100644
--- a/pkgs/applications/editors/mg/default.nix
+++ b/pkgs/applications/editors/mg/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://homepage.boetes.org/software/mg/;
-    description = "mg is Micro GNU/emacs, this is a portable version of the mg maintained by the OpenBSD team.";
+    description = "mg is Micro GNU/emacs, this is a portable version of the mg maintained by the OpenBSD team";
     license = "public domain";
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/applications/editors/sublime/default.nix b/pkgs/applications/editors/sublime/default.nix
index 6aa0b34314ac..cfa44d9285cc 100644
--- a/pkgs/applications/editors/sublime/default.nix
+++ b/pkgs/applications/editors/sublime/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Sublime Text is a sophisticated text editor for code, markup and prose.";
+    description = "Sophisticated text editor for code, markup and prose";
     license = "unfree";
   };
 }
diff --git a/pkgs/applications/graphics/jbrout/default.nix b/pkgs/applications/graphics/jbrout/default.nix
index dc397a614d3d..2207e8884f0c 100644
--- a/pkgs/applications/graphics/jbrout/default.nix
+++ b/pkgs/applications/graphics/jbrout/default.nix
@@ -34,5 +34,6 @@ buildPythonPackage {
   meta = {
     homepage = "http://code.google.com/p/jbrout";
     description = "jBrout is a photo manager";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index b647c07368ef..cc42e1c40466 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -7,10 +7,10 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "paraview-3.98.1";
+  name = "paraview-4.0.1";
   src = fetchurl {
-    url = "http://paraview.org/files/v3.98/ParaView-3.98.1-source.tar.gz";
-    sha256 = "0i7q3jc4lc40l1zw3fdzv108rpxxfmg3dmmq855fpqyp2g2w9nxp";
+    url = "http://paraview.org/files/v4.0/ParaView-v4.0.1-source.tgz";
+    sha256 = "1qj8dq8gqpsw75sv4sdc7xm1xcpv0ilsddnrcfhha0zfhp0gq10y";
   };
 
   # [  5%] Generating vtkGLSLShaderLibrary.h
diff --git a/pkgs/applications/misc/abook/default.nix b/pkgs/applications/misc/abook/default.nix
index 09345576487e..3d187d92f5c6 100644
--- a/pkgs/applications/misc/abook/default.nix
+++ b/pkgs/applications/misc/abook/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://abook.sourceforge.net/";
-    description = "Abook is a text-based addressbook program designed to use with mutt mail client.";
+    description = "Text-based addressbook program designed to use with mutt mail client";
     license = "GPLv2";
     maintainers = [ stdenv.lib.maintainers.edwtjo ];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix
index a4048e6f40b2..a6a289168c4a 100644
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ b/pkgs/applications/misc/bitcoin/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, openssl, db4, boost, zlib, miniupnpc, qt4 }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.1";
+  version = "0.8.5";
   name = "bitcoin-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/bitcoin/${name}-linux.tar.gz";
-    sha256 = "161arfkzpya5anh6vh5i9ydvwqpia7bpqgz83p2kd97iklx04zvd";
+    sha256 = "0qqzwx1lihlrj7r08alsyznjfqvwncfm0nnxi1pcx0jyvq83ym44";
   };
 
   buildInputs = [ openssl db4 boost zlib miniupnpc qt4 ];
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 780c96d9ec8e..769306463103 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-1.4.0";
+  name = "calibre-1.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "0hszxjyvw75b75pzr8w5xfgchx3ksw7ziwa3skrjdj500bypmy3y";
+    sha256 = "17jpzj47120ghm584hxl526jdkh9whxrrqfdyn0gv0pb9kag1spn";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/freicoin/default.nix b/pkgs/applications/misc/freicoin/default.nix
index bce6d1f639cb..d5ed057f56b8 100644
--- a/pkgs/applications/misc/freicoin/default.nix
+++ b/pkgs/applications/misc/freicoin/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, db4, boost, gmp, mpfr, miniupnpc, qt4, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "0.0.2";
+  version = "0.8.3-1";
   name = "freicoin-${version}";
 
   src = fetchurl {
     url = "https://github.com/freicoin/freicoin/archive/v${version}.zip";
-    sha256 = "09izmm85rb64d5hd0hz9hkfvv3qag55sb3mdyp8z4103icqwd6d7";
+    sha256 = "0v3mh8a96nnb86mkyaylyjj7qfdrl7i9gvybh7f8w2hrl9paszfh";
   };
 
   # I think that openssl and zlib are required, but come through other
diff --git a/pkgs/applications/misc/gkrellm/default.nix b/pkgs/applications/misc/gkrellm/default.nix
index f1c26b27262d..af10ca9800d0 100644
--- a/pkgs/applications/misc/gkrellm/default.nix
+++ b/pkgs/applications/misc/gkrellm/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
      make install PREFIX="$out" '';
 
   meta = {
-    description = "GKrellM, a themeable process stack of system monitors.";
+    description = "Themeable process stack of system monitors";
     longDescription =
       '' GKrellM is a single process stack of system monitors which supports
          applying themes to match its appearance to your window manager, Gtk,
diff --git a/pkgs/applications/misc/gmrun/default.nix b/pkgs/applications/misc/gmrun/default.nix
index 0b19eef3c8ca..dbff65d36518 100644
--- a/pkgs/applications/misc/gmrun/default.nix
+++ b/pkgs/applications/misc/gmrun/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     ];
 
   meta = {
-    description = "Gnome Completion-Run Utility.";
+    description = "Gnome Completion-Run Utility";
     longDescription = ''
       A simple program which provides a "run program" window, featuring a bash-like TAB completion.
       It uses GTK+ interface.
diff --git a/pkgs/applications/misc/gnome_terminator/default.nix b/pkgs/applications/misc/gnome_terminator/default.nix
index cbd0819e2401..b394719611de 100644
--- a/pkgs/applications/misc/gnome_terminator/default.nix
+++ b/pkgs/applications/misc/gnome_terminator/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Gnome terminal emulator with support for tiling and tabs.";
+    description = "Gnome terminal emulator with support for tiling and tabs";
     homepage = http://www.tenshu.net/p/terminator.html;
     license = "GPLv2";
   };
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 31c00626847b..fd2e7c3ac426 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "WYSIWYM frontend for LaTeX, DocBook, etc.";
+    description = "WYSIWYM frontend for LaTeX, DocBook";
     homepage = "http://www.lyx.org";
     license = "GPL2";
     maintainers = [ stdenv.lib.maintainers.vcunat ];
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index c2f80570673b..91fd1da10149 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -66,7 +66,7 @@ exec 19> $FIFOCTL
   '';
 
   meta = with stdenv.lib; {
-    description = "A MySQL visual database modeling, administration and querying tool.";
+    description = "Visual MySQL database modeling, administration and querying tool";
     longDescription = ''
       MySQL Workbench is a modeling tool that allows you to design
       and generate MySQL databases graphically. It also has administration
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index 8c16d290f86e..c05dd028eb34 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -22,10 +22,13 @@ stdenv.mkDerivation (rec {
     ++ stdenv.lib.optional perlSupport perl
     ++ stdenv.lib.optional gdkPixbufSupport gdk_pixbuf;
 
+  outputs = [ "out" "terminfo" ];
+
   preConfigure =
     ''
-      configureFlags="--with-terminfo=$out/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"}";
-      export TERMINFO=$out/share/terminfo # without this the terminfo won't be compiled by tic, see man tic
+      mkdir -p $terminfo/share/terminfo
+      configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"}";
+      export TERMINFO=$terminfo/share/terminfo # without this the terminfo won't be compiled by tic, see man tic
       NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
       NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender "
     ''
@@ -35,6 +38,13 @@ stdenv.mkDerivation (rec {
       ln -s $out/{lib/urxvt,lib/perl5/site_perl}
     '';
 
+  # we link the separate terminfo output to the main output
+  # as I don't think there's a usecase for wanting urxvt without its terminfo files
+  # and we don't want users to install them separately
+  postInstall = ''
+    ln -s $terminfo/share/terminfo $out/share
+  '';
+
   meta = {
     description = "A clone of the well-known terminal emulator rxvt";
     homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
diff --git a/pkgs/applications/misc/surf/default.nix b/pkgs/applications/misc/surf/default.nix
index d6083da5ce40..42792ba8f91d 100644
--- a/pkgs/applications/misc/surf/default.nix
+++ b/pkgs/applications/misc/surf/default.nix
@@ -27,9 +27,15 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-      description = "surf is a simple web browser based on WebKit/GTK+. It is able to display websites and follow links. It supports the XEmbed protocol which makes it possible to embed it in another application. Furthermore, one can point surf to another URI by setting its XProperties.";
-      homepage = http://surf.suckless.org;
-      license = "MIT";
-      platforms = stdenv.lib.platforms.linux;
+    description = "Simple web browser";
+    longDescription = ''
+      Surf is a simple web browser based on WebKit/GTK+. It is able to display
+      websites and follow links. It supports the XEmbed protocol which makes it
+      possible to embed it in another application. Furthermore, one can point
+      surf to another URI by setting its XProperties.
+      '';
+    homepage = http://surf.suckless.org;
+    license = "MIT";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix
index b8edd93455dd..77acc511fe42 100644
--- a/pkgs/applications/misc/taskjuggler/default.nix
+++ b/pkgs/applications/misc/taskjuggler/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.taskjuggler.org";
     license = "GPLv2";
-    description = "Project management tool.";
+    description = "Project management tool";
     longDescription = ''
       TaskJuggler is a modern and powerful, Open Source project management
       tool. Its new approach to project planing and tracking is more
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
new file mode 100644
index 000000000000..fb6b011f30a4
--- /dev/null
+++ b/pkgs/applications/misc/xca/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "xca-${version}";
+  version = "0.9.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xca/${name}.tar.gz";
+    sha256 = "1fn6kh8mdy65rrgjif7j9wn3mxg1mrrcnhzpi86hfy24ic6bahk8";
+  };
+
+  configurePhase = ''
+    export PATH=$PATH:${which}/bin
+    export QTDIR=${qt4}
+    prefix=$out ./configure ${openssl} ${libtool}
+  '';
+
+  buildInputs = [ openssl qt4 libtool ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "Interface for managing asymetric keys like RSA or DSA";
+    homepage = http://xca.sourceforge.net/;
+    platforms = platforms.all;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/misc/xfe/default.nix b/pkgs/applications/misc/xfe/default.nix
index bd00d91e23d3..9b1385d9d6ad 100644
--- a/pkgs/applications/misc/xfe/default.nix
+++ b/pkgs/applications/misc/xfe/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    description = "X File Explorer (Xfe) is an MS-Explorer like file manager for X.";
+    description = "X File Explorer (Xfe) is an MS-Explorer like file manager for X";
     longDescription = ''
       X File Explorer (Xfe) is an MS-Explorer like file manager for X.
       It is based on the popular, but discontinued, X Win Commander, which was developed by Maxim Baranov.
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage = "http://sourceforge.net/projects/xfe/";
     license = "GPLv2";
     maintainers = [ stdenv.lib.maintainers.bbenoist ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix
index 25a23b019d84..c2d2f28751a7 100644
--- a/pkgs/applications/networking/bittorrentsync/default.nix
+++ b/pkgs/applications/networking/bittorrentsync/default.nix
@@ -40,7 +40,7 @@ in stdenv.mkDerivation {
 
   meta = {
     homepage = "http://labs.bittorrent.com/experiments/sync.html";
-    description = "Automatically sync files via secure, distributed technology.";
+    description = "Automatically sync files via secure, distributed technology";
     license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.iElectric ];
   };
diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix
new file mode 100644
index 000000000000..b120ebcac54e
--- /dev/null
+++ b/pkgs/applications/networking/browsers/dwb/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, pkgconfig, makeWrapper, libsoup, webkit, gtk3, gnutls, json_c,
+  m4, glib_networking, gsettings_desktop_schemas }:
+
+stdenv.mkDerivation {
+  name = "dwb-0.1";
+
+  src = fetchgit {
+    url = "https://bitbucket.org/portix/dwb.git";
+    rev = "4a4c3adb8fbc680a0a2b8c9d3d3a4105c07c2514";
+    sha256 = "93e8f2c82609447d54a3c139c153cc66d37d3c6aa8922cd09717caa95fd8b1d5";
+  };
+
+  buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4  ];
+
+  # There are Xlib and gtk warnings therefore I have set Wno-error
+  preBuild=''
+    makeFlagsArray=(CPPFLAGS="-Wno-error" GTK=3 PREFIX=$out);
+  '';
+
+  postInstall=''
+    wrapProgram "$out/bin/dwb" \
+     --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
+     --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  meta = {
+    homepage = http://portix.bitbucket.org/dwb/;
+    description = "A lightweight web browser based on the webkit web browser engine and the gtk toolkit";
+    platforms = stdenv.lib.platforms.mesaPlatforms;
+    maintainers = [ stdenv.lib.maintainers.pSub ];
+    license = "GPL";
+  };
+}
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 7b0f2a367973..8375bcdad3df 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -4,6 +4,7 @@
 , yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
 , hunspell, libevent, libstartup_notification, libvpx
 , cairo, gstreamer, gst_plugins_base
+, 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
@@ -35,7 +36,7 @@ in rec {
   commonConfigureFlags =
     [ "--enable-optimize"
       #"--enable-profiling"
-      "--disable-debug"
+      (if debugBuild then "--enable-debug" else "--disable-debug")
       "--enable-strip"
       "--with-system-jpeg"
       "--with-system-zlib"
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index f8d2c2d0e8cd..bf4c7f3e7d22 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -1,4 +1,4 @@
-{ stdenv, browser, makeDesktopItem, makeWrapper, plugins, libs, gtk_modules
+{ stdenv, lib, browser, makeDesktopItem, makeWrapper, plugins, libs, gtk_modules
 , browserName, desktopName, nameSuffix, icon
 }:
 
@@ -50,8 +50,7 @@ stdenv.mkDerivation {
     description =
       browser.meta.description
       + " (with plugins: "
-      + (let lib = import ../../../../lib;
-        in lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins)))
+      + lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins))
       + ")";
   };
 }
diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix
index 4d561737d276..e39e377147a3 100644
--- a/pkgs/applications/networking/browsers/midori/default.nix
+++ b/pkgs/applications/networking/browsers/midori/default.nix
@@ -43,7 +43,7 @@ rec {
 
   name = "midori-${version}.${release}";
   meta = {
-    description = "Light WebKit-based web browser with GTK GUI.";
+    description = "Light WebKit-based web browser with GTK GUI";
     maintainers = [args.lib.maintainers.raskin];
     platforms = with args.lib.platforms;
       linux;
diff --git a/pkgs/applications/networking/ids/bro/default.nix b/pkgs/applications/networking/ids/bro/default.nix
index 6e70e106d26e..d60d39ac028d 100644
--- a/pkgs/applications/networking/ids/bro/default.nix
+++ b/pkgs/applications/networking/ids/bro/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   
   meta = {
-    description = "Bro is a powerful network analysis framework that is much different from the typical IDS you may know.";
+    description = "Powerful network analysis framework that is much different from the typical IDS you may know";
     homepage = http://www.bro.org/;
     license = "BSD";
   };
diff --git a/pkgs/applications/networking/instant-messengers/amsn/default.nix b/pkgs/applications/networking/instant-messengers/amsn/default.nix
index 07aa20ff1f31..fc7906b3e402 100644
--- a/pkgs/applications/networking/instant-messengers/amsn/default.nix
+++ b/pkgs/applications/networking/instant-messengers/amsn/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
+    description = "Instant messaging (MSN Messenger clone)";
     homepage = http://amsn-project.net;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/oneteam/default.nix b/pkgs/applications/networking/instant-messengers/oneteam/default.nix
index 3549d7f14996..14d01de32458 100644
--- a/pkgs/applications/networking/instant-messengers/oneteam/default.nix
+++ b/pkgs/applications/networking/instant-messengers/oneteam/default.nix
@@ -76,8 +76,6 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      linux;
     license = a.lib.licenses.gpl2;
     homepage="http://oneteam.im";
   };
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
index cdbf63dbd9f1..2e1b745790a4 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "Alternative MSN protocol plug-in for Pidgin IM.";
+    description = "Alternative MSN protocol plug-in for Pidgin IM";
     homepage = http://code.google.com/p/msn-pecan/;
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index e8afdb37cbc4..9c787867e5a1 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "SIPE plugin for Pidgin IM.";
+    description = "SIPE plugin for Pidgin IM";
     homepage = http://sipe.sourceforge.net/;
     license = "GPLv2";
   };
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
new file mode 100644
index 000000000000..b87db662f45e
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, libtoxcore, pidgin, autoconf, automake, libtool, libsodium } :
+
+let
+  version = "17a3fd9199";
+  date = "20131012";
+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";
+  };
+
+  NIX_LDFLAGS = "-lssp -lsodium";
+
+  preConfigure = "autoreconf -vfi";
+
+  postInstall = "mv $out/lib/purple-2 $out/lib/pidgin";
+
+  buildInputs = [ libtoxcore pidgin autoconf automake libtool libsodium ];
+
+  meta = {
+    homepage = http://tox.dhs.org/;
+    description = "Tox plugin for Pidgin / libpurple";
+    license = "GPLv3";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index 00fba657d8a4..d0652adcb0d6 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   + (lib.optionalString (gnutls != null) " --enable-gnutls=yes --enable-nss=no")
   ;
   meta = {
-    description = "Pidgin IM - XMPP(Jabber), AIM/ICQ, IRC, SIP etc client.";
+    description = "Pidgin IM - XMPP(Jabber), AIM/ICQ, IRC, SIP etc client";
     homepage = http://pidgin.im;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix
index aa90c8e70261..ebd84ff47b89 100644
--- a/pkgs/applications/networking/instant-messengers/skype/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skype/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
 
     cat > $out/bin/skype << EOF
     #!${stdenv.shell}
+    export PULSE_LATENCY_MSEC=60  # workaround for pulseaudio glitches
     export LD_LIBRARY_PATH=$fullPath:$LD_LIBRARY_PATH
     $dynlinker $out/libexec/skype/skype --resources=$out/libexec/skype "\$@"
     EOF
diff --git a/pkgs/applications/networking/instant-messengers/torchat/default.nix b/pkgs/applications/networking/instant-messengers/torchat/default.nix
index 5a82cf9d6407..06bcd7a0400e 100644
--- a/pkgs/applications/networking/instant-messengers/torchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/torchat/default.nix
@@ -2,18 +2,17 @@
 stdenv.mkDerivation rec {
 
   name = "torchat-${version}";
-  version = "0.9.9.550";
+  version = "0.9.9.553";
 
   src = fetchurl {
-    url = "http://torchat.googlecode.com/files/torchat-source-${version}.zip";
-    sha256 = "01z0vrmflcmb146m04b66zihkd22aqnxz2vr4x23z1q5mlwylmq2";
+    url = "https://github.com/prof7bit/TorChat/archive/${version}.tar.gz";
+    sha256 = "0rb4lvv40pz6ab5kxq40ycvh7kh1yxn7swzgv2ff2nbhi62xnzp0";
   };
 
   buildInputs = [ python unzip wxPython wrapPython ];
   pythonPath = [ wxPython ];
 
-  preConfigure = "rm portable.txt";
-  preUnpack = "sourceRoot=`pwd`/src";
+  preConfigure = "cd torchat/src; rm portable.txt";
 
   installPhase = ''
     substituteInPlace "Tor/tor.sh" --replace "tor -f" "${tor}/bin/tor -f"
@@ -29,8 +28,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/torchat/;
-    description = "instant messaging application on top of the Tor network and it's location hidden services";
+    homepage = https://github.com/prof7bit/TorChat;
+    description = "Instant messaging application on top of the Tor network and it's location hidden services";
     license = licenses.gpl3;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
new file mode 100644
index 000000000000..c2af1274a24c
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses
+, libtoxcore, pkgconfig }:
+
+let
+  version = "75d356e52a";
+  date = "20131011";
+in
+stdenv.mkDerivation rec {
+  name = "toxic-${date}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Tox/toxic/tarball/${version}";
+    name = "${name}.tar.gz";
+    sha256 = "14wyvms8l07sl88g8y6g2jv95sq7cnhbaqf4n32xxilch8rymq47";
+  };
+
+  preConfigure = ''
+    autoreconf -i
+  '';
+
+  NIX_LDFLAGS = "-lsodium";
+
+  configureFlags = [
+    "--with-libtoxcore-headers=${libtoxcore}/include"
+    "--with-libtoxcore-libs=${libtoxcore}/lib" 
+    "--with-libsodium-headers=${libtoxcore}/include"
+    "--with-libsodium-libs=${libtoxcore}/lib" 
+  ];
+
+  buildInputs = [ autoconf libtool automake libtoxcore libsodium ncurses pkgconfig ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Reference CLI for Tox";
+    license = "GPLv3+";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index f7dc270251c9..67ff1ca02c43 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -1,7 +1,7 @@
 { monolithic ? true # build monolithic Quassel
 , daemon ? false # build Quassel daemon
 , client ? false # build Quassel client
-, withKDE ? true # enable KDE integration
+, withKDE ? stdenv.isLinux # enable KDE integration
 , ssl ? true # enable SSL support
 , previews ? false # enable webpage previews on hovering over URLs
 , stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon }:
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index a523089e0ed1..01ba8c97d988 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -3,12 +3,12 @@
 , pythonPackages, cacert, cmake, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.1";
+  version = "0.4.2";
   name = "weechat-${version}";
 
   src = fetchurl {
     url = "http://weechat.org/files/src/${name}.tar.gz";
-    sha256 = "0gsn0mp921j7jpvrxc74h0gs0bn0w808j2zqghm1w7xbjw9hl49w";
+    sha256 = "03ypji34kb5yrxqyn8dbrjm3j00pc8v7wfsip7d3l63nyx79df9v";
   };
 
   buildInputs = 
@@ -18,17 +18,16 @@ stdenv.mkDerivation rec {
     ];
 
   postInstall = ''
-       wrapProgram "$out/bin/weechat-curses" \
+       wrapProgram "$out/bin/weechat" \
          --prefix PYTHONPATH : "$PYTHONPATH" \
          --prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages"
   '';
 
   meta = {
-    homepage = http://http://www.weechat.org/;
+    homepage = http://www.weechat.org/;
     description = "A fast, light and extensible chat client";
     license = stdenv.lib.licenses.gpl3;
-    maintainers = [ stdenv.lib.maintainers.garbas ];
+    maintainers = with stdenv.lib.maintainers; [ garbas the-kenny ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
-
diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix
new file mode 100644
index 000000000000..c3212f6aa560
--- /dev/null
+++ b/pkgs/applications/networking/jmeter/default.nix
@@ -0,0 +1,27 @@
+{ fetchurl, stdenv, ant }:
+
+stdenv.mkDerivation rec {
+  name = "jmeter-2.9";
+  src = fetchurl {
+    url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-jmeter-2.9.tgz";
+    sha256 = "14r3zn910m97jqrf6k5c4lwy214snaap2242qg76h65zk9qr20ni";
+  };
+
+  installPhase = ''
+    mkdir $out
+    cp ./* $out/ -R
+  '';
+
+  meta = {
+    description = "Apache JMeter is a 100% pure Java desktop application designed to load test functional behavior and measure performance.";
+    longDescription = ''
+      The Apache JMeter desktop application is open source software, a 100%
+      pure Java application designed to load test functional behavior and
+      measure performance. It was originally designed for testing Web
+      Applications but has since expanded to other test functions.
+    '';
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+    priority = 1;
+  };
+}
diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/svn.nix
index b6b9db99f907..ed6c348706b9 100644
--- a/pkgs/applications/networking/p2p/gnunet/svn.nix
+++ b/pkgs/applications/networking/p2p/gnunet/svn.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchsvn, libextractor, libmicrohttpd, libgcrypt
 , zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
 , libxml2, ncurses, gettext, libunistring, libidn
-, makeWrapper, autoconf, automake }:
+, makeWrapper, autoconf, automake
+, withVerbose ? false }:
 
 let
-  rev = "27775";
+  rev = "27840";
 in
 stdenv.mkDerivation rec {
   name = "gnunet-svn-${rev}";
@@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
   src = fetchsvn {
     url =  https://gnunet.org/svn/gnunet;
     inherit rev;
-    sha256 = "1fa2g63rrn0mmim9v62gnm2hqr556mbcafb7cs7afycbinix4spf";
+    sha256 = "0zhxvvj5rbhca2ykfx3g93dv94xyhqsnj011a6gql7zd5vfhaf6v";
   };
 
   buildInputs = [
@@ -22,6 +23,8 @@ stdenv.mkDerivation rec {
     autoconf automake
   ];
 
+  configureFlags = stdenv.lib.optional withVerbose "--enable-logging=verbose ";
+
   preConfigure = ''
     # Brute force: since nix-worker chroots don't provide
     # /etc/{resolv.conf,hosts}, replace all references to `localhost'
diff --git a/pkgs/applications/networking/p2p/transmission/2.60.nix b/pkgs/applications/networking/p2p/transmission/2.60.nix
deleted file mode 100644
index c59fddf6364b..000000000000
--- a/pkgs/applications/networking/p2p/transmission/2.60.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, openssl, curl, intltool, libevent,
-  file, inotifyTools, gtk ? null }:
-
-stdenv.mkDerivation rec {
-  name = "transmission-2.60"; # transmission >= 2.61 requires gtk3
-
-  src = fetchurl {
-    url = "http://download.transmissionbt.com/files/${name}.tar.xz";
-    sha256 = "1ramdliyy8j7qqpkxg643lda11ynxwfhq6qcs31fr3h9x72l0rg4";
-  };
-
-  buildInputs = [ pkgconfig openssl curl intltool libevent
-                  file inotifyTools gtk ];
-
-  preConfigure = ''
-    sed -i -e 's|/usr/bin/file|${file}/bin/file|g' configure
-  '';
-
-  postInstall = ''
-    rm -f $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = {
-    description = "A fast, easy and free BitTorrent client";
-    longDescription = ''
-      Transmission is a BitTorrent client which features a simple interface
-      on top of a cross-platform back-end.
-      Feature spotlight:
-        * Uses fewer resources than other clients
-        * Native Mac, GTK+ and Qt GUI clients
-        * Daemon ideal for servers, embedded systems, and headless use
-        * All these can be remote controlled by Web and Terminal clients
-        * Bluetack (PeerGuardian) blocklists with automatic updates
-        * Full encryption, DHT, and PEX support
-    '';
-    homepage = http://www.transmissionbt.com/;
-    license = [ "GPLv2" ];
-    maintainers = [ stdenv.lib.maintainers.astsmtl ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 2c6106d13040..cb439ddb4624 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -1,32 +1,39 @@
-{ stdenv, fetchurl, pkgconfig, openssl, curl, intltool, libevent
-, file, inotifyTools
-, enableGtk ? false, gtk ? null }:
+{ stdenv, fetchurl, pkgconfig, intltool, file, makeWrapper
+, openssl, curl, libevent, inotifyTools
+, enableGTK3 ? false, gtk3
+}:
 
-assert enableGtk -> gtk != null;
+let
+  version = "2.82";
+in
+
+with { inherit (stdenv.lib) optional optionals optionalString; };
 
 stdenv.mkDerivation rec {
-  name = "transmission-2.77"; # transmission >= 2.61 requires gtk3
+  name = "transmission-" + optionalString enableGTK3 "gtk-" + version;
 
   src = fetchurl {
-    url = "http://download.transmissionbt.com/files/${name}.tar.xz";
-    sha256 = "1phzhj4wds6r2ziclva1b5l6l9xjsx5ji7s3m4xia44aq4znbcam";
+    url = "http://download.transmissionbt.com/files/transmission-${version}.tar.xz";
+    sha256 = "08imy28hpjxwdzgvhm66hkfyzp8qnnqr4jhv3rgshryzhw86b5ir";
   };
 
-  buildInputs = [ pkgconfig openssl curl intltool libevent
-                  file inotifyTools ]
-    ++ stdenv.lib.optional enableGtk gtk;
+  buildInputs = [ pkgconfig intltool file openssl curl libevent inotifyTools ]
+    ++ optionals enableGTK3 [ gtk3 makeWrapper ];
 
   preConfigure = ''
     sed -i -e 's|/usr/bin/file|${file}/bin/file|g' configure
   '';
 
-  configureFlags = stdenv.lib.optionalString enableGtk "--with-gtk";
+  configureFlags = [ "--with-systemd-daemon" ]
+    ++ optional enableGTK3 "--with-gtk";
 
-  postInstall = ''
-    rm -f $out/share/icons/hicolor/icon-theme.cache
+  postInstall = optionalString enableGTK3 /* gsettings schemas for file dialogues */ ''
+    rm "$out/share/icons/hicolor/icon-theme.cache"
+    wrapProgram "$out/bin/transmission-gtk" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A fast, easy and free BitTorrent client";
     longDescription = ''
       Transmission is a BitTorrent client which features a simple interface
@@ -40,8 +47,9 @@ stdenv.mkDerivation rec {
         * Full encryption, DHT, and PEX support
     '';
     homepage = http://www.transmissionbt.com/;
-    license = [ "GPLv2" ];
-    maintainers = [ stdenv.lib.maintainers.astsmtl ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2; # parts are under MIT
+    maintainers = with maintainers; [ astsmtl vcunat ];
+    platforms = platforms.linux;
   };
 }
+
diff --git a/pkgs/applications/networking/sniffers/ettercap/default.nix b/pkgs/applications/networking/sniffers/ettercap/default.nix
new file mode 100644
index 000000000000..3994563cf3eb
--- /dev/null
+++ b/pkgs/applications/networking/sniffers/ettercap/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, cmake, libpcap, libnet, zlib, curl, pcre,
+  openssl, ncurses, glib, gtk, atk, pango, flex, bison }:
+
+stdenv.mkDerivation rec {
+  name = "ettercap-${version}";
+  version = "0.8.0";
+
+  src = fetchurl {
+    url = "https://github.com/Ettercap/ettercap/archive/v${version}.tar.gz";
+    sha256 = "1g69782wk2hag8h76jqy81szw5jhvqqnn3m4v0wjkbv9zjxy44w0";
+  };
+
+  buildInputs = [
+    cmake libpcap libnet zlib curl pcre openssl ncurses
+    glib gtk atk pango flex bison
+  ];
+
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt --replace /etc \$\{INSTALL_PREFIX\}/etc
+  '';
+
+  cmakeFlags = [
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include"
+  ];
+
+  meta = {
+    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;
+  };
+}
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index a500bbaa240b..0e5a6afcdc5f 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -26,4 +26,8 @@ stdenv.mkDerivation {
     [ pkgconfig gtk libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
       libgsf enchant wv libjpeg
     ];
+
+  meta = {
+    description = "Word processing program, similar to Microsof Word";
+  };
 }
diff --git a/pkgs/applications/office/antiword/default.nix b/pkgs/applications/office/antiword/default.nix
index c4da2b609ce7..f889490a862c 100644
--- a/pkgs/applications/office/antiword/default.nix
+++ b/pkgs/applications/office/antiword/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.winfield.demon.nl/";
-    description = "convert MS Word documents to plain text or PostScript";
+    description = "Convert MS Word documents to plain text or PostScript";
     license = stdenv.lib.licenses.gpl2;
 
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/applications/office/eventlist/default.nix b/pkgs/applications/office/eventlist/default.nix
new file mode 100644
index 000000000000..f126d6bfba65
--- /dev/null
+++ b/pkgs/applications/office/eventlist/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, kdelibs, kdepimlibs, akonadi, gettext, boost }:
+
+stdenv.mkDerivation rec {
+  name = "plasmoid-eventlist-0.6.96";
+
+  src = fetchurl {
+    url = "http://kde-look.org/CONTENT/content-files/107779-plasmoid-eventlist-0.6.96.tar.bz2";
+    sha256 = "26cc7bd1c465bf1379fd0ba1fa8592eaa62f2553734d1b283e17359103908eea";
+  };
+
+  buildInputs = [ kdelibs kdepimlibs akonadi gettext boost ];
+
+  meta = {
+    inherit (kdelibs.meta) platforms;
+    description = "KDE Plasmoid to show events and todos on the desktop";
+    longDescription = ''
+      This is a plasmoid to show the events and todos from Akonadi resources (KOrganizer, Birthdays etc.).
+      With a google resource also Google calendar items can be shown.
+      Also possible with a CalDAV resource.
+      A facebook resource is also available.
+
+      Incidences can be filtered, added, edited, deleted via context menu.
+    '';
+    homepage = "http://kde-look.org/content/show.php/Eventlist?content=107779";
+    license = "GPLv3+";
+
+	  };
+}
diff --git a/pkgs/applications/science/biology/arb/default.nix b/pkgs/applications/science/biology/arb/default.nix
index 1b4563555c46..279091f21bd2 100644
--- a/pkgs/applications/science/biology/arb/default.nix
+++ b/pkgs/applications/science/biology/arb/default.nix
@@ -75,7 +75,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description     = "ARB software for sequence database handling and analysis";
+    description     = "Software for sequence database handling and analysis";
     longDescription = ''The ARB software is a graphically oriented package comprising various tools for sequence database handling and data analysis. A central database of processed (aligned) sequences and any type of additional data linked to the respective sequence entries is structured according to phylogeny or other user defined criteria. Note that this package includes its own older versions of clustal etc.''; 
     license     = "non-free";
     pkgMaintainer = "http://BioLib.open-bio.org/";
diff --git a/pkgs/applications/science/chemistry/avogadro/default.nix b/pkgs/applications/science/chemistry/avogadro/default.nix
index f4b353296fdc..e45f5b645fd9 100644
--- a/pkgs/applications/science/chemistry/avogadro/default.nix
+++ b/pkgs/applications/science/chemistry/avogadro/default.nix
@@ -15,7 +15,8 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-include ${mesa}/include/GL/glu.h";
 
   meta = {
+    description = "Molecule editor and visualizer";
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    inherit (qt4.meta) platforms;
+    platforms = stdenv.lib.platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/applications/science/electronics/alliance/default.nix b/pkgs/applications/science/electronics/alliance/default.nix
index 90fd5901cac7..ee22c66dfec0 100644
--- a/pkgs/applications/science/electronics/alliance/default.nix
+++ b/pkgs/applications/science/electronics/alliance/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-      description = "Complete set of free CAD tools and portable libraries for VLSI design.";
+      description = "Complete set of free CAD tools and portable libraries for VLSI design";
       homepage = http://www-asim.lip6.fr/recherche/alliance/;
   };
 }
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index 70153eee61b4..579492248ea3 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--enable-x" "--with-x" "--with-readline" ];
 
   meta = {
-    description = "The Next Generation Spice (Electronic Circuit Simulator).";
+    description = "The Next Generation Spice (Electronic Circuit Simulator)";
     homepage = "http://ngspice.sourceforge.net";
     license = ["BSD" "GPLv2"];
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix
index 18a16114c507..2e1647b6c71d 100644
--- a/pkgs/applications/science/logic/hol/default.nix
+++ b/pkgs/applications/science/logic/hol/default.nix
@@ -1,8 +1,10 @@
-{stdenv, fetchurl, polyml, experimentalKernel ? false}:
+{stdenv, fetchurl, polyml, graphviz, fontconfig, liberation_ttf,
+ experimentalKernel ? true}:
 
 let
   pname = "hol4";
-  version = "k.7";
+  version = "k.8";
+  holsubdir = "hol-kananaskis-8";
   kernelFlag = if experimentalKernel then "-expk" else "-stdknl";
 in
 
@@ -10,38 +12,51 @@ stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = mirror://sourceforge/hol/hol/kananaskis-7/kananaskis-7.tar.gz;
-    sha256 = "0gs1nmjvsjhnndama9v7gids2g86iip53v7d7dm3sfq6jxmqkwkl";
+    url = mirror://sourceforge/hol/hol/kananaskis-8/kananaskis-8.tar.gz;
+    sha256 = "5ce4c1e37301dbc38772694e98f1c7eabf69255908de204b280d8b2b1709e9d0";
   };
 
-  buildInputs = [polyml];
+  buildInputs = [polyml graphviz fontconfig liberation_ttf];
 
   buildCommand = ''
+
+    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
+
     mkdir -p "$out/src"
     cd  "$out/src"
 
     tar -xzf "$src"
-    cd hol4.${version}
+    cd ${holsubdir}
 
     substituteInPlace tools/Holmake/Holmake_types.sml \
       --replace "\"/bin/mv\"" "\"mv\"" \
       --replace "\"/bin/cp\"" "\"cp\""
 
+    for f in tools/buildutils.sml help/src-sml/DOT;
+    do
+      substituteInPlace $f --replace "\"/usr/bin/dot\"" "\"${graphviz}/bin/dot\""
+    done
+
     #sed -ie "/compute/,999 d" tools/build-sequence # for testing
 
     poly < tools/smart-configure.sml
-    
+
     bin/build ${kernelFlag} -symlink
 
     mkdir -p "$out/bin"
-    ln -st $out/bin  $out/src/hol4.${version}/bin/*
+    ln -st $out/bin  "$out/src/${holsubdir}/bin/"*
     # ln -s $out/src/hol4.${version}/bin $out/bin
   '';
 
   meta = {
-    description = "HOL4, an interactive theorem prover based on Higher-Order Logic.";
+    description = "Interactive theorem prover based on Higher-Order Logic";
     longDescription = ''
-
       HOL4 is the latest version of the HOL interactive proof
       assistant for higher order logic: a programming environment in
       which theorems can be proved and proof tools
@@ -52,7 +67,6 @@ stdenv.mkDerivation {
       engines. HOL4 is particularly suitable as a platform for
       implementing combinations of deduction, execution and property
       checking.
-
     '';
     homepage = "http://hol.sourceforge.net/";
     license = "BSD";
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index f9549241a45c..d6c1c0c18781 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -26,15 +26,15 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "An interactive theorem prover based on Higher-Order Logic.";
+    description = "Interactive theorem prover based on Higher-Order Logic";
     longDescription = ''
-HOL Light is a computer program to help users prove interesting mathematical
-theorems completely formally in Higher-Order Logic.  It sets a very exacting
-standard of correctness, but provides a number of automated tools and
-pre-proved mathematical theorems (e.g., about arithmetic, basic set theory and
-real analysis) to save the user work.  It is also fully programmable, so users
-can extend it with new theorems and inference rules without compromising its
-soundness.
+      HOL Light is a computer program to help users prove interesting
+      mathematical theorems completely formally in Higher-Order Logic.  It sets
+      a very exacting standard of correctness, but provides a number of
+      automated tools and pre-proved mathematical theorems (e.g., about
+      arithmetic, basic set theory and real analysis) to save the user work.
+      It is also fully programmable, so users can extend it with new theorems
+      and inference rules without compromising its soundness.
     '';
     homepage = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
     license = stdenv.lib.licenses.bsd2;
diff --git a/pkgs/applications/science/logic/logisim/default.nix b/pkgs/applications/science/logic/logisim/default.nix
index 009bed3ffe2a..ab46efa9a961 100644
--- a/pkgs/applications/science/logic/logisim/default.nix
+++ b/pkgs/applications/science/logic/logisim/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   
   meta = {
     homepage = "http://ozark.hendrix.edu/~burch/logisim";
-    description = "Logisim is an educational tool for designing and simulating digital logic circuits.";
+    description = "Educational tool for designing and simulating digital logic circuits";
     license = "GPLv2+";
   };
 }
diff --git a/pkgs/applications/science/logic/prover9/default.nix b/pkgs/applications/science/logic/prover9/default.nix
index 93b1657aa14a..d92c7887210e 100644
--- a/pkgs/applications/science/logic/prover9/default.nix
+++ b/pkgs/applications/science/logic/prover9/default.nix
@@ -31,14 +31,12 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.cs.unm.edu/~mccune/mace4/";
     license = "GPL";
-    description = "Prover9 is an automated theorem prover for first-order and equational logic.";
-
+    description = "Automated theorem prover for first-order and equational logic";
     longDescription = ''
       Prover9 is a resolution/paramodulation automated theorem prover
       for first-order and equational logic. Prover9 is a successor of
       the Otter Prover. This is the LADR command-line version.
     '';
-
     platforms = stdenv.lib.platforms.unix;
     maintainers = [];
   };
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 51505d614399..6c8ec9e68c53 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://www.r-project.org/";
-    description = "a free software environment for statistical computing and graphics";
+    description = "Free software environment for statistical computing and graphics";
     license = stdenv.lib.licenses.gpl2Plus;
 
     longDescription = ''
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index f5fec36756d3..b8f7f2e65b66 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.30.0";
+  version = "5.31.2";
 
   searchPath =
     stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "1mhx7g0kzpiagg97s2zhaplsq1li9ya2764mhwl7jgfw2vp3jlm0";
+    sha256 = "12j5irwfckl5583h7lwh0wrp0c65q7mqzcsri2v086j50xvvv398";
   };
 
   buildInputs = [sbcl texinfo perl makeWrapper];
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index e9e6ca7bead7..01be4ba7e6c6 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.1";
+  version = "13.04.2";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/wxMaxima/${version}/wxMaxima-${version}.tar.gz";
-    sha256 = "0irp1m9vr50ym7wfj1c1vbrzd2pip1vmvn9ykqsdf04afkkwkran";
+    sha256 = "1sylvr0kfdzxxc3qsb0c6ff3lg0bzm1ib5xh78wjgzykbnvjsd99";
   };
 
   buildInputs = [wxGTK maxima makeWrapper];
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = {
-    description = "Cross platform GUI for the computer algebra system Maxima.";
+    description = "Cross platform GUI for the computer algebra system Maxima";
     license = "GPL2";
     homepage = http://wxmaxima.sourceforge.net;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/version-management/bazaar/tools.nix b/pkgs/applications/version-management/bazaar/tools.nix
index 5a4b706f418a..19a00d2b8415 100644
--- a/pkgs/applications/version-management/bazaar/tools.nix
+++ b/pkgs/applications/version-management/bazaar/tools.nix
@@ -15,6 +15,6 @@ rec {
       
   name = "bzr-tools-${version}";
   meta = {
-    description = "Bazaar plugins.";
+    description = "Bazaar plugins";
   };
 }
diff --git a/pkgs/applications/version-management/codeville/0.8.0.nix b/pkgs/applications/version-management/codeville/0.8.0.nix
index d72f753a26e0..5c1910d6c6f6 100644
--- a/pkgs/applications/version-management/codeville/0.8.0.nix
+++ b/pkgs/applications/version-management/codeville/0.8.0.nix
@@ -18,6 +18,6 @@ rec {
       
   name = "codeville-0.8.0";
   meta = {
-    description = "Codeville - RCS with powerful merge.";
+    description = "RCS with powerful merge";
   };
 }
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index 368557e3c2ce..a1959eedba2f 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "Simple, high-reliability, distributed software configuration management.";
+    description = "Simple, high-reliability, distributed software configuration management";
     longDescription = ''
       Fossil is a software configuration management system.  Fossil is
       software that is designed to control and track the development of a
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 d71c1dff209e..f67fc8553c0b 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
@@ -14,8 +14,8 @@
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "4.20130927";
-  sha256 = "0ycfdwqicmqfj5ygrk11z7cz2b28ccvb45ny8h5i0wr6mg3apj38";
+  version = "4.20131002";
+  sha256 = "00pjb0ivcggpx4qdihrarss68c1q5viwfz4jgg7rqjnhslwvk440";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -42,6 +42,7 @@ cabal.mkDerivation (self: {
                     -fProduction
                     -fTDFA";
   preConfigure = "patchShebangs .";
+  installPhase = "./Setup install";
   checkPhase = ''
     export HOME="$NIX_BUILD_TOP/tmp"
     mkdir "$HOME"
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 5f0df6c8ead1..557886a4deb1 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,17 +1,18 @@
-{ cabal, extensibleExceptions, filepath, github, hslogger, IfElse
-, MissingH, mtl, network, prettyShow, text
+{ cabal, extensibleExceptions, filepath, git, github, hslogger
+, IfElse, MissingH, mtl, network, prettyShow, text, unixCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "github-backup";
-  version = "1.20130414";
-  sha256 = "1s8s1kv4kj086kzq8iq28zyrlg65hrzg3563fw3dazfik73cmlcp";
+  version = "1.20131006";
+  sha256 = "0yc2hszi509mc0d6245dc8cq20mjjmr8mgrd8571dy9sgda532pf";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     extensibleExceptions filepath github hslogger IfElse MissingH mtl
-    network prettyShow text
+    network prettyShow text unixCompat
   ];
+  buildTools = [ git ];
   meta = {
     homepage = "https://github.com/joeyh/github-backup";
     description = "backs up everything github knows about a repository, to the repository";
diff --git a/pkgs/applications/video/ogmtools/default.nix b/pkgs/applications/video/ogmtools/default.nix
index 1a6bc6629993..11a16e3a79d2 100644
--- a/pkgs/applications/video/ogmtools/default.nix
+++ b/pkgs/applications/video/ogmtools/default.nix
@@ -11,11 +11,14 @@ stdenv.mkDerivation rec {
   buildInputs = [libogg libvorbis libdvdread];
 
   meta = {
-    description = "Tools for modifying and inspecting OGG media streams. Includes dvdxchap tool for extracting chapter information from DVD.";
-    longDescription = "These tools allow information about (ogminfo) or extraction from (ogmdemux) or creation of (ogmmerge) OGG media streams.";
+    description = "Tools for modifying and inspecting OGG media streams";
+    longDescription = ''
+      These tools allow information about (ogminfo) or extraction from
+      (ogmdemux) or creation of (ogmmerge) OGG media streams. Includes dvdxchap
+      tool for extracting chapter information from DVD.
+    '';
     homepage = http://www.bunkus.org/videotools/ogmtools/;
     license = "GPLv2";
-
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix
index bef755afed46..49207ad06615 100644
--- a/pkgs/applications/video/quvi/library.nix
+++ b/pkgs/applications/video/quvi/library.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig lua5 curl quvi_scripts ];
 
   meta = { 
-    description = "Quvi is a web video downloader.";
+    description = "Web video downloader";
     homepage = http://quvi.sf.net;
     license = "LGPLv2.1+";
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix
index 9c6cd9d31377..cc82158ae829 100644
--- a/pkgs/applications/video/quvi/scripts.nix
+++ b/pkgs/applications/video/quvi/scripts.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig ];
 
   meta = { 
-    description = "Quvi is a web video downloader.";
+    description = "Web video downloader";
     homepage = http://quvi.sf.net;
     license = "LGPLv2.1+";
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix
index b2ddabfa6a8d..f8b6aad43106 100644
--- a/pkgs/applications/video/quvi/tool.nix
+++ b/pkgs/applications/video/quvi/tool.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig lua5 curl quvi_scripts libquvi ];
 
   meta = { 
-    description = "Quvi is a web video downloader.";
+    description = "Web video downloader";
     homepage = http://quvi.sf.net;
     license = "LGPLv2.1+";
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index 7d101aac790b..e6d0b7cb40dd 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -12,7 +12,7 @@ let
 in
 
 stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
-  name = "OVMF-2012-03-13";
+  name = "OVMF-2012-10-09";
 
   unpackPhase = ''
     for file in \
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 195ee5d45c01..d1e2a8b7883d 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -78,7 +78,12 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://virt-manager.org;
-    description = "The 'Virtual Machine Manager' application (virt-manager for short package name) is a desktop user interface for managing virtual machines.";
+    description = "Desktop user interface for managing virtual machines";
+    longDescription = ''
+      The virt-manager application is a desktop user interface for managing
+      virtual machines through libvirt. It primarily targets KVM VMs, but also
+      manages Xen and LXC (linux containers).
+    '';
     license = "GPLv2";
     maintainers = with stdenv.lib.maintainers; [qknight];
   };
diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix
index 26b16375e659..bb8b7a1d0d99 100644
--- a/pkgs/applications/virtualization/virtinst/default.nix
+++ b/pkgs/applications/virtualization/virtinst/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = http://virt-manager.org;
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [qknight];
-    description = "The Virt Install tool (virt-install for short command name, virtinst for package name) is a command line tool which provides an easy way to provision operating systems into virtual machines.";
+    description = "Command line tool which provides an easy way to provision operating systems into virtual machines";
   };
 }
diff --git a/pkgs/applications/window-managers/ion-3/default.nix b/pkgs/applications/window-managers/ion-3/default.nix
index b4dabb300c19..7a467b1fcdb9 100644
--- a/pkgs/applications/window-managers/ion-3/default.nix
+++ b/pkgs/applications/window-managers/ion-3/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "ion-3-20090110";
   meta = {
-    description = "Ion is a tiling tabbed window manager designed with keyboard users in mind.";
+    description = "Tiling tabbed window manager designed with keyboard users in mind";
     homepage = http://modeemi.fi/~tuomov/ion;
   };
   src = fetchurl {
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
deleted file mode 100644
index ab261a78fb01..000000000000
--- a/pkgs/applications/window-managers/stumpwm/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-args : 
-let 
-  lib = args.lib;
-  fetchurl = args.fetchurl;
-  noDepEntry = args.noDepEntry;
-  fullDepEntry = args.fullDepEntry;
-
-  buildInputs = lib.attrVals ["clisp" "texinfo"] args;
-  version = lib.attrByPath ["version"] "0.9.7" args; 
-
-  pkgName = "stumpwm";
-in
-rec {
-  src = fetchurl {
-    url = "mirror://savannah/stumpwm/${pkgName}-${version}.tgz";
-    sha256 = "a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78";
-  };
-
-  inherit buildInputs;
-  configureFlags = ["--with-lisp=clisp"];
-  envVars = noDepEntry (''
-    export HOME="$NIX_BUILD_TOP";
-  '');
-
-  installation = fullDepEntry (''
-    mkdir -p $out/bin 
-    mkdir -p $out/share/stumpwm/doc
-    mkdir -p $out/share/info 
-    mkdir -p $out/share/stumpwm/lisp
-
-    cp stumpwm $out/bin
-    cp contrib/stumpish $out/bin || true
-    cp sample-stumpwmrc.lisp  $out/share/stumpwm/doc
-    cp stumpwm.info $out/share/info
-
-    cp -r {.,cl-ppcre}/*.{lisp,fas,lib,asd} contrib $out/share/stumpwm/lisp
-    cd $out/share/stumpwm/lisp
-    cat << EOF >init-stumpwm.lisp
-      (require "asdf") 
-      (asdf:operate 'asdf:load-op :cl-ppcre) 
-      (asdf:operate 'asdf:load-op :stumpwm)
-    EOF
-    clisp -K full -i init-stumpwm.lisp
-    cat << EOF >init-stumpwm.lisp
-      (require "asdf") 
-      (asdf:operate 'asdf:load-source-op :cl-ppcre) 
-      (asdf:operate 'asdf:load-source-op :stumpwm)
-    EOF
-    '') ["minInit" "defEnsureDir" "addInputs" "doMake"];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["envVars" "doConfigure" "doMake" "installation"];
-      
-  name = "${pkgName}-" + version;
-  meta = {
-    description = "Common Lisp-based ratpoison-like window manager.";
-    maintainers = [args.lib.maintainers.raskin];
-    platforms = with args.lib.platforms;
-      linux ++ freebsd;
-  };
-}
diff --git a/pkgs/applications/window-managers/wmii31/default.nix b/pkgs/applications/window-managers/wmii31/default.nix
index 50655a851e2a..dd49cf5ec43e 100644
--- a/pkgs/applications/window-managers/wmii31/default.nix
+++ b/pkgs/applications/window-managers/wmii31/default.nix
@@ -29,7 +29,7 @@ args: with args; stdenv.mkDerivation {
      cp cmd/wmiimenu \$out/bin
   ";
   meta = { homepage = "www.suckless.org";
-           description = "one small tool of the wmii window manger to let the user select an item from a list by filtering..";
+           description = "One small tool of the wmii window manger to let the user select an item from a list by filtering";
            license="MIT";
          };
 }
diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix
index 3c5d7af621c8..e22aa6bc66ef 100644
--- a/pkgs/build-support/builder-defs/builder-defs.nix
+++ b/pkgs/build-support/builder-defs/builder-defs.nix
@@ -565,13 +565,15 @@ let inherit (builtins) head tail trace; in
      # Interpreters that are already in the store are left untouched.
          echo "patching script interpreter paths"
          local f
-         for f in $(find "${dir}" -type f -perm +0100); do
+         for f in $(find "${dir}" -xtype f -perm +0100); do
              local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f")
              if test -n "$oldPath" -a "''${oldPath:0:''${#NIX_STORE}}" != "$NIX_STORE"; then
                  local newPath=$(type -P $(basename $oldPath) || true)
                  if test -n "$newPath" -a "$newPath" != "$oldPath"; then
                      echo "$f: interpreter changed from $oldPath to $newPath"
                      sed -i "1 s,$oldPath,$newPath," "$f"
+		 else
+		     echo "$f: not changing interpreter from $oldPath"
                  fi
              fi
          done
diff --git a/pkgs/data/fonts/anonymous-pro/default.nix b/pkgs/data/fonts/anonymous-pro/default.nix
index df98d8197f5d..21a1c9bf5c85 100644
--- a/pkgs/data/fonts/anonymous-pro/default.nix
+++ b/pkgs/data/fonts/anonymous-pro/default.nix
@@ -33,7 +33,7 @@ rec {
   '') ["addInputs"];
       
   meta = {
-    description = "A TrueType font set intended for source code";
+    description = "TrueType font set intended for source code";
     maintainers = with a.lib.maintainers;
     [
       raskin
diff --git a/pkgs/data/fonts/arkpandora/default.nix b/pkgs/data/fonts/arkpandora/default.nix
index be1292204ad7..7394dce551ba 100644
--- a/pkgs/data/fonts/arkpandora/default.nix
+++ b/pkgs/data/fonts/arkpandora/default.nix
@@ -17,6 +17,6 @@ rec {
       
   name = "arkpandora-" + version;
   meta = {
-    description = "ArkPandora fonts, metrically identical to Arial and Times New Roman.";
+    description = "Font, metrically identical to Arial and Times New Roman";
   };
 }
diff --git a/pkgs/data/fonts/lmodern/default.nix b/pkgs/data/fonts/lmodern/default.nix
index 831a3ddbd09c..1368537c2a1b 100644
--- a/pkgs/data/fonts/lmodern/default.nix
+++ b/pkgs/data/fonts/lmodern/default.nix
@@ -9,10 +9,10 @@ stdenv.mkDerivation {
   };
 
   installPhase = ''
-    mkdir -p $out/texmf/
+    mkdir -p $out/texmf-dist/
     mkdir -p $out/share/fonts/
 
-    cp -r ./* $out/texmf/
+    cp -r ./* $out/texmf-dist/
     cp -r fonts/{opentype,type1} $out/share/fonts/
 
     ln -s $out/texmf* $out/share/
diff --git a/pkgs/data/fonts/redhat-liberation-fonts/default.nix b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
index c331b85029d9..08faeafc619c 100644
--- a/pkgs/data/fonts/redhat-liberation-fonts/default.nix
+++ b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New.";
+    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
diff --git a/pkgs/data/fonts/tipa/default.nix b/pkgs/data/fonts/tipa/default.nix
index 47e98f7c53aa..1049e6924bd0 100644
--- a/pkgs/data/fonts/tipa/default.nix
+++ b/pkgs/data/fonts/tipa/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   installPhase = ''
-    export PREFIX="$out/texmf"
+    export PREFIX="$out/texmf-dist"
     mkdir -p "$PREFIX" "$out/share"
     make install PREFIX="$PREFIX"
 
diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix
index 79d1a0909058..893659bc763e 100644
--- a/pkgs/data/fonts/unifont/default.nix
+++ b/pkgs/data/fonts/unifont/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation {
     '';
     
   meta = {
-    description = "Unicode font for Base Multilingual Plane.";
+    description = "Unicode font for Base Multilingual Plane";
   };
 }
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index c49430935aeb..da043da09678 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl }:
 
-let version = "2012f"; in
+let version = "2013g"; 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 = "1k165i8g23rr0z26k02x1l4immp69g6yqjrd3lwmbvj5li4mmsdg";
+        sha256 = "0krsgncjnk64g3xshj5xd3znskcx9wwy20g1wmm2lwycincx7kdn";
       })
       (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
-        sha256 = "1m6rg9003mkjyvpv5gg5lcia9fzhy7ndwgs68qlpbipnw5p0k2pk";
+        sha256 = "0ysqm72xm9vcykqg9zgry69w6gr3i6b6mpbvgfmwyrdvb6s5ihy7";
       })
     ];
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
index 5ab6d5e813d6..c190b9578e96 100644
--- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
-  
+
   src = fetchurl_gnome {
     project = "libgnome";
     major = "2"; minor = "32"; patchlevel = "1";
diff --git a/pkgs/desktops/kde-4.11/default.nix b/pkgs/desktops/kde-4.11/default.nix
index b1cd9e919fbb..d3840120a657 100644
--- a/pkgs/desktops/kde-4.11/default.nix
+++ b/pkgs/desktops/kde-4.11/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.0" }:
+{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.2" }:
 
 let
   # Need callPackageOrig to avoid infinite cycle
diff --git a/pkgs/desktops/kde-4.11/kde-package/4.11.2.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.2.nix
new file mode 100644
index 000000000000..04a65cc08c64
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-package/4.11.2.nix
@@ -0,0 +1,444 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="amor";value="1p31vayk12pfgrx5bi0c7kiwzyk1j84b9cssrir63amfxa0gfqm5";}
+  {name="analitza";value="11bwyfqah01riilrl73b9aymd8jqkprch60fi7ya5jvz385ngxzk";}
+  {name="ark";value="0cygijr642xhrrd1a74nzgidqlb244xnp9na3ry7n49rxni3bm1n";}
+  {name="audiocd-kio";value="0a52wp0hfnw24asyy6akfnyyb1hfkkzfiy2fml7zs9pqr1knxbq1";}
+  {name="blinken";value="0wc72gx141id6h35z2lhc762yp2mi4j3bdrhlsg05f42cz0dyzv6";}
+  {name="bomber";value="1zszxy94gbzdq1jddfglxcpk3d7ly3cn2hmllblhqywx9d2s8app";}
+  {name="bovo";value="1fr1hwpcqazh5y39wgahydr91fnd0rbrnwv2ajaq8zzaqbqqkgqv";}
+  {name="cantor";value="01i2w42x606yrcrr4zacalw8rhwjczij0vfdmkqsr27dvnpl64fa";}
+  {name="cervisia";value="1iln0p690kd40anpq26snyhb1d2ql3kz89y05lbgq14n9v4iriij";}
+  {name="dolphin-plugins";value="0d386hfynxqgmcizqqspzi7lzhlm2nwz0agm7iaw6xl26xm0h5bg";}
+  {name="dragon";value="0jnqnskf4g93fd6mw5b11mp5006yk7p0lshbnglrsnybznh6q2k5";}
+  {name="ffmpegthumbs";value="15hcsglcwqmwhdnp0i8d3slr4k0j94m57baiv7axn4wpbsss5k5n";}
+  {name="filelight";value="1npwgsngqk01akzyny2x7f9c7j092c4vjfmdnm2g7hm36q2gy823";}
+  {name="granatier";value="0bclrsi6999xcsmksbg280mvhszxdsr3f5cyzsn5yahs3k6isf2j";}
+  {name="gwenview";value="1qq827b1dfqx5xybr8bjs9ch7407ix6w47iryrbs8vs3k08qw8jw";}
+  {name="jovie";value="1fq8vihh7v19wmwfgxg3m6qi4730wj12m9sv41c7nwdqz3c0gzs2";}
+  {name="juk";value="18lyw6w7z2f72j9madg9rksafj1dpz8pdc09fby9gvkwacd7qsab";}
+  {name="kaccessible";value="0swzpk3kfrc4a3bf9gf40kh8y6nyd2qhvnxxsv6m00m701cj73ar";}
+  {name="kactivities";value="13iz2d2l7rn2d9q5c3mg4836mxgnds83cy2ll18r82bpp59qj4nx";}
+  {name="kajongg";value="0wvdf9lkkiy07dhwvmamz4gginq6ljy57swp4j4z2mm8m3x9i071";}
+  {name="kalgebra";value="0p2k1c710j5nsvb218h3mkbymsd48y0yw09ijx16cbdwvka7mpag";}
+  {name="kalzium";value="0mflvnb3nrrgh6h172lkhh0mxwrpdwcji74f8g6kb7xpr45ms21k";}
+  {name="kamera";value="1rybwccq3q6q0xk9p7f4clx1gf73fqzl69dx99q19wfc5y23pmg9";}
+  {name="kanagram";value="10vdkva83kb8rk6xaxcv5lgdil5wnz6i2bphz2c029s4vm8d2i2n";}
+  {name="kapman";value="0m5mawy3bjp2zd3jkylxsw4ccwzqg8lqd2v9i07zzf6f9ihjqs6r";}
+  {name="kapptemplate";value="16w8lrq2an4iwrss81fp0jisd52v2lwbvyam93cwxfcp4bsbzs9y";}
+  {name="kate";value="0n6jnfwprd5xjyja1dmja785swxgxnpz769xbg5aylnr1rsldzv2";}
+  {name="katomic";value="14rrnm6qf5lf05lj9d2zalrv5npj4hkng4i68y1svkgjl8p98j52";}
+  {name="kblackbox";value="00n3n011cnspdh606aa3scxj388vs3j1bamhk6bxnhmc26gbi54b";}
+  {name="kblocks";value="0l080dqdkqqqn1927gnjzbp3jqwladw1qmkx171291qxa0x364x0";}
+  {name="kbounce";value="10q1821wcnh4xggrndgvsm4dx6hyx4nll3f7blz77cga8fvz8lbw";}
+  {name="kbreakout";value="1xhnmlp2f8a0pmsabsw0yc53i5hcxf1bgid1ffbbgsr014xgqmmi";}
+  {name="kbruch";value="1rridi7lv1izmq68ymjmmm7mvyl3bdnkxj84dxg97yv91yqjx6ys";}
+  {name="kcachegrind";value="0crsb236nay9c0r49hgmiysa9bqwy89aj1avh3sxh82b7dsqmplp";}
+  {name="kcalc";value="0mw77vw8py0xnvkx43lvfzkghwd974chiszxck78iks2m12vgnpz";}
+  {name="kcharselect";value="1ys31fx7g85xmhia05s0i30k1jf1in83hnwc568lsbzvw37adbim";}
+  {name="kcolorchooser";value="0cn9n82kk08c55sy1hncpg5pjzlinkgvmii2p5gyp28fx4yphh45";}
+  {name="kcron";value="05bgwijfcpk56fkmnfjgcrmvkr50j1p524xg8s7zjxsdgib4p9xs";}
+  {name="kdeartwork";value="166fm27iby4gjk8f8zbdamwzkjh5wbvhfj9wn0pkp2dm8l9h8lq2";}
+  {name="kde-baseapps";value="1kgwgrn73x89zipkhq1irs09ka9wi8hk22daf16c4a6hbpinl24x";}
+  {name="kde-base-artwork";value="076h9sl1gyn6c2lmslig9p7w7m049bna9l8wv5jllwssm8i83ccg";}
+  {name="kde-dev-scripts";value="0dpdpc24kcyihgqqypqrxhmfwsmhl9ffim80n2rsdp3aka4y10vv";}
+  {name="kde-dev-utils";value="1j77v0d706ic9m008apqwc1287ma47qmpbv07xv770i0wjh90pl6";}
+  {name="kdegraphics-mobipocket";value="02dzr5lm75p6rw7k30aj5m296h8whxg1shrv8s1pm7ari2660d50";}
+  {name="kdegraphics-strigi-analyzer";value="09cnwvmkjyxagpb5sqgcj69fr496wb0pn4xns65yzynv0540hkkd";}
+  {name="kdegraphics-thumbnailers";value="1fs69zih92dlm8l60br0c0nwy095hsnszdyspdkmz52ycznmzk28";}
+  {name="kdelibs";value="01nzkrmvv8pa4x7mq5nw0z6dasm668q37mhdgvkg1hk7i57w98z5";}
+  {name="kdenetwork-filesharing";value="0ah9v7vvpg8v8nn59h168zn2gaajf39ha2617dyicknc4gn9rsgk";}
+  {name="kdenetwork-strigi-analyzers";value="1iwhr1ckn06z50j1fq9ah15gni3am91gyhyi0f21jaqdigxpi3my";}
+  {name="kdepim";value="0gs06h182m74fgdp20z3w4h8ib5xm1h0i1asnwy1s61gvpkcm63h";}
+  {name="kdepimlibs";value="0kxnczl97wavm3c75wmy4yjw3vbq4x0jdkbk611jn8hqj32c3fl7";}
+  {name="kdepim-runtime";value="13j39qbb6vgsfhypby994pgwlmmyimmqvfri92m15l0ir7rqgfwm";}
+  {name="kdeplasma-addons";value="1dy3gw8z18acs3dmw375jv9qnxjrdwzzgj2p164icid7l2041n8l";}
+  {name="kde-runtime";value="1w4xav8abgqfj943iz2gjzfdmlnk25r5xj3g79sw1ip1bcvkhpq4";}
+  {name="kdesdk-kioslaves";value="1npqa9wwbgjwlnr24dgprdndygmvsixf19hjbplcnp41dn2q14nz";}
+  {name="kdesdk-strigi-analyzers";value="1b4anyzl3xd8pfhia8s0mbrhlyr086gic1as766ynddjpr6a4a94";}
+  {name="kdesdk-thumbnailers";value="0jmkgmabbip7ymjmvyxdrji7xbplrhcrq4vlq8z0jbnyh9b9yngx";}
+  {name="kde-wallpapers";value="1l4hr5nxvf10yv2n76znrz1s0v7xqppipisc1ffbfdnf2l4wrw11";}
+  {name="kdewebdev";value="0gp1vm905p0a0j4h1lakj2zxfm4c78898rl05yf04g9x25yj3mbg";}
+  {name="kde-workspace";value="05yr52xq6w1j2kc4n5wan5f5c7xbcnaad7sdhfns3alg1grlc3i6";}
+  {name="kdf";value="0nblxiav3rw9zggqxpawvknadxbr601m55535k3gzpg3a4slk7nc";}
+  {name="kdiamond";value="0w0fzlpvj98ykvvgyzp8hhkn20pyhxc1c8krlagaqxncv1b7mhcf";}
+  {name="kdnssd";value="0q74myd7shrp43ny2vm7hadr2aix1v35v0hg6i99z7rif9ai8yjh";}
+  {name="kfloppy";value="1w1qiplcnbq10qv4lyjx521adkcg9w7z372w7fi18hjv93ryliis";}
+  {name="kfourinline";value="0irghbp7hsrl7bhi2ggf6rb0p62vck47rmmy6zb30wv32xk9gz9k";}
+  {name="kgamma";value="1cbdxbh57jcz9anawvwybi1s4skcyq84f2r5mjs1xyg2s2fv1l8b";}
+  {name="kgeography";value="00g544kc7hkabk5xbkl07k3h515ac84l4a49853pj2ryrdrikmvx";}
+  {name="kget";value="1mdfrwdf6lm94vcc5m4l7q14b70x2pkd0ham194acd60np8bk5s4";}
+  {name="kgoldrunner";value="0dbhvqxryilixv7ak0b79g8d8a2mbgkp440sxkl31xjak05c1qmv";}
+  {name="kgpg";value="10py9c1z8i1p0acp2lbi6c95gsfhfv1cw5544xp31v5iccrv2izn";}
+  {name="khangman";value="0j13zzplvrgrq8gsn7xfbf19xclc6kvsrzbnbgp83ji1dg168z6c";}
+  {name="kig";value="0ld9g522n361q0h7yvb3zljllbddyglxiamw2hs2svsm7k98klz9";}
+  {name="kigo";value="1rn8pw4jw7ia3dhwx3jwfzylfd4l067qp1kp01lixddfd0ivh42r";}
+  {name="killbots";value="0c0hx61by8n10j3wcpwi6pzbq7bnmpylamj0c1r5pbxm69ljsaiv";}
+  {name="kimono";value="1p40q61p98vz9s4dkwm51p36yk2qx2s00fpiyi1pi73qg4klbc4j";}
+  {name="kiriki";value="0f01zdlpzwlkriv48p13wlg7j2b0dwzhd7hrq35kyb3jzwx1pc5n";}
+  {name="kiten";value="0kk5s3idg5vz59drc65w53fd1l2x4vh593crc7by2dgzsf6x40sd";}
+  {name="kjumpingcube";value="1gdbjv42dryyap3dln7wy3pysbyy9d10vbpb1asxbpn1kzlzlf96";}
+  {name="klettres";value="08h3b70nj4d4cb71fvm3wkgy27vm1aqx8xzkqdgzs2snzb8ra983";}
+  {name="klickety";value="1vmnbfjd620g2xibxfpb18cfdfcksny7rjah4j90cvadcsbg8x3x";}
+  {name="klines";value="10sk0fn6aavdf0df1xw3p0nbwv22ccpdg00xv7h8m4fk43j04dvp";}
+  {name="kmag";value="062kl6j150f579npfkv7jm2b9zih0ahfpzbpl635fz2av2aimm8j";}
+  {name="kmahjongg";value="1xikbz840dh57rf83af0jnmjb9q4ggd5801kiqkq6lkp413iij23";}
+  {name="kmines";value="0ijibp21f6s5l55m2zrcdz2a8xqjk22na79rc0wsdps7pmvf5sfj";}
+  {name="kmix";value="0md4fqv047g3s9bhr8jz2fcwq1vsld2jfi8j7cg8b8bh73kd2fbq";}
+  {name="kmousetool";value="1x8vb0hjmx6xac2602iaab93ha2nfk8i0y67z48p6i7s2n3zni06";}
+  {name="kmouth";value="10ibhgz7mv4kaiyl779h0qlpwgx4s8flsh0850if06mhdxjxld2y";}
+  {name="kmplot";value="1cy9qi53ivb3zy1lcb35ivh42yvj0gikr8m7j4nlrg4xy93gjrhd";}
+  {name="knavalbattle";value="1nd2z8ylmqcj515l3llbq2crdlds7qidni8ja24nk1wf5h4k9amp";}
+  {name="knetwalk";value="01jjal03srn55mlb11vkimgh1mixdwxqi0vh1s56hd894ssn0hgh";}
+  {name="kolf";value="0nsy2wp3fwing3hkwspjm4d8swhzamaaj5x7k0jyvcqcj93sgp1g";}
+  {name="kollision";value="1vz313lr1bp7crfnkdfvz5c7dynsyaqhv1pm6fyjv6ribv3dh48q";}
+  {name="kolourpaint";value="1k8kggx9ljkms4q70m38xd8a364nkynhkqiz2h1znr779sfqy5vp";}
+  {name="kompare";value="0kp6xzgbbhxxspmlx86f7vhn34iknvspjpniaxqvadrfi6xn4801";}
+  {name="konquest";value="072nvaxa1yjaq16095xkla3lndyfq2p801wc0r0m2imc62f30cbd";}
+  {name="konsole";value="17m68zq97whybvixgjdaz45d91x48aw7ijkzfapml7fldpf32bqw";}
+  {name="kopete";value="1q3825fl5pbim3rfi9s8k5sscvbwdacy00rkww4jdw8z3xxsriqj";}
+  {name="korundum";value="1iam31q7cf7a9yxx1i0gnqhnm0262ns8qpr6h2n7cmzkns8bckal";}
+  {name="kpat";value="00mlmqbm0f3yjm89vs91l0rc4r9lsvh0qq59za43rkg8j2rg5nmz";}
+  {name="kppp";value="0gxnd0p48waz0nz4inalyk52xvbhyd3w5m08p1q2a7ssczvza2wp";}
+  {name="krdc";value="1s8qm8s6gxfpdgvh4zi7svs48fnrngj7hxkyp1fjmksaczffrfx1";}
+  {name="kremotecontrol";value="1zjpagr0kcmqsjg4sswqhannc1rix242zbikwzs7jsbq34qy9fg2";}
+  {name="kreversi";value="1ylimga3wqdam1207c6zp1r0aqmqnndldd6y2pazqgk7wcr5z8lf";}
+  {name="krfb";value="0gq6rnkprk98ylnrispd66101jb040p8m9fcab9n5v2g4lvxzcia";}
+  {name="kross-interpreters";value="1njhlscnsd0v7jzzdknsc8nljc2xz7mbxscymhdafbpmjd655sdg";}
+  {name="kruler";value="0z8krqp9gy1n6kqk5slig9f4f07ddqrsbn6p7xqadrrs5a7g4baa";}
+  {name="ksaneplugin";value="1crry96ca3pk25xwnpm73004srf85yq3xpbwc1rr3a7xmniqglr7";}
+  {name="kscd";value="1ix0zdqk2bfmb05j3cwf55kz4sp4krx75wpfzsz2yf3dz047ylqp";}
+  {name="kshisen";value="1hmv7w2mb6v9rqhifns0js592m2m7ys9fsnrdxiv1nzkcbl3xll7";}
+  {name="ksirk";value="1pjrq3v1c0sk5r5hdk4rlbs47wwmsrds43ascp6p4rxvbagki99w";}
+  {name="ksnakeduel";value="09rl2j6pwdhc8lcb2dxh5l3zb0l0iz29b76svb727sga2y7b85qk";}
+  {name="ksnapshot";value="0n2xbqkm34bq8mgpycfyda82v3c4h07lcqvs747aw95kkydb71yk";}
+  {name="kspaceduel";value="01dshprsrwjgb7pgxz2razyxi8yi1cmnalyxflwxqh2zd4xx300y";}
+  {name="ksquares";value="195c1wywm70zwd4z5cqv4xk315xrpkkbwq2myiyxa0wshhiz31bb";}
+  {name="kstars";value="0xl2vpkxa66gd3ycl092lvnk07fw3phlcp4jmpcby650xvp7h6bn";}
+  {name="ksudoku";value="1gi5xr0x9w13skvs8dj4lflib7w9xqn2xr6h90mbncg5c54wmlqc";}
+  {name="ksystemlog";value="148i90y6gc1bw2128xmb56lprmx80s0024dsd4xknm7fw8mpycdm";}
+  {name="kteatime";value="0cgqz9py80grv7sf8k5mixfl5vzx58g93flv409f7nbpia3fjr26";}
+  {name="ktimer";value="1ph38xw1yhqg65y9dhgpgzls4yx1y025v1wv5wflmcranx68a589";}
+  {name="ktouch";value="0n70611cccp09dy8r0q4n7k3l68938hz0xkvp9ik58bnfkn57fvh";}
+  {name="ktuberling";value="0zfp8ynxxdys819gw7dnq6rl9l62dpfz0hvcm2fd8bvjwxrqzxrm";}
+  {name="kturtle";value="1ciwmgd7x0223d22jzqgr7ginaf8c9hi4zlcsl3s7i87hd46878g";}
+  {name="ktux";value="0njz3icalh644kfcnlr4nmdsavkvsp492ig6w0ryr43namqbi0fw";}
+  {name="kubrick";value="07rkhb4ms8wdcny163z0ffavx3i1z13kxmj8xfbv3jx3nbcr33p5";}
+  {name="kuser";value="0avxd71zw0v8qirflpws1g7dqvs6hkpqxi89zfrvcsb8fgcqqvx2";}
+  {name="kwallet";value="0lnv7yd1ig18dmkxanmkwnz6w28p8ak8sg1rxic07g50qni4yk8g";}
+  {name="kwordquiz";value="03qxjm445jynw41wva8b86kigda2q828p0vkz58ymk8ibds74jfm";}
+  {name="libkcddb";value="0hz4300q0hhmrjd2ackaxbvdg9j51bc2fkcndw2d7wwvqz4a1am6";}
+  {name="libkcompactdisc";value="1jf0ivcy7mv3p7xcbigffmx2sby37ainjw29cp8yv0qgdwws5pm3";}
+  {name="libkdcraw";value="1y75rm55s8407q4qglndf28gix0niq0ypa9g1jwf2c8fpmf7ffph";}
+  {name="libkdeedu";value="1gd0jp85qnml2nlnf554mm9yszjkxgs9jqyi77vrhhp50bxkwdbv";}
+  {name="libkdegames";value="12590b023cjjix7mbd6flhm419w4j4zbs83ar9sihlwj6l3fzs9z";}
+  {name="libkexiv2";value="16jsd5ip4179cs2hvwqvb1cbrl5z06zyr9prr269rg11i8rjfjai";}
+  {name="libkipi";value="1wsmci2rfrg8jw3scl14cjx4q616lbmvlzjs6lv2dza4cya4jqvy";}
+  {name="libkmahjongg";value="1s4gzdygrpzjg4rxkn9ndgaj0gzj4ss0ywpd1rv5nv8iaig42cah";}
+  {name="libksane";value="1hylj10pqr82drw9b9r10rwbjf85fx225az2ha7zcm9j1k170n8d";}
+  {name="lokalize";value="0d3sym5waf1nivwksqpclwj9hxl1fva3h0hzgsmgg39qbnanqg4d";}
+  {name="lskat";value="0m47kb9l830d5798xkx9h6fx3ng59zlbji8pnaj6m53q0yj7n5am";}
+  {name="marble";value="0r27nmbvgxx4w00ii926gkxz2ilaa1sja02q62jhxvm01rp1kvka";}
+  {name="mplayerthumbs";value="1a58f66mpzngd558336h13vzl0paj3pbl4fna1vk34fzjz0ldsrm";}
+  {name="nepomuk-core";value="1l14a7hdbz7ap3lidj8acjvkxiycld4wspcw5xnd85pjhks8fcil";}
+  {name="nepomuk-widgets";value="19g752h1f4gz3208ynprxp7nxnbjgis99016lik8f9179n6mjygb";}
+  {name="okteta";value="1hwpyb9g1fwcsl713g84za62qjissmjfjhw2jvd2x08lrjablvvk";}
+  {name="okular";value="03jw7c3h6708aisk301nvfnp0vih3c5wz928zmh54h1aslfi4c3k";}
+  {name="oxygen-icons";value="01f9xkpk8fgj2ccmbrbjx9z1gxqnj4rrvasxh575lcvknnbsf6vz";}
+  {name="pairs";value="1zp89sp5qmllbm9qqzcwf90cy5vqvywki2yjgz0gn2svp1629mmg";}
+  {name="palapeli";value="0kbi61jxxyg2zzjxhjr0m14p1k04jfv212gkj6ic81hrwzjfffzc";}
+  {name="parley";value="1f266kvb0fzy3gxv9fzq59aikz0g540ydbzvr51hlvlra88sjj47";}
+  {name="perlkde";value="0gm9wim2llyglnzxqbgy0jzj9ji3p683zbrhlglpxpd6wh3ady1w";}
+  {name="perlqt";value="0qxad4m6iqc26yn8nsa3g24xr84ncrmhwhz95i2jzzrbqawwas3m";}
+  {name="picmi";value="0nlw3lqfck3fp77n56qmvlj3p6rr60drsq5qxyrrl3scw2dlipq7";}
+  {name="poxml";value="0vjmd1r90l85xs9sv2wzd1vdml6a6fh0ipzz7zyixy600lqgxy13";}
+  {name="print-manager";value="1bw5w8n4wwggib1yrgai2723fwnjrr3wbnnxn85j7bpy3b84cqfh";}
+  {name="pykde4";value="1ziq3nms0bvpnsl21pw37bkimi817jx0mmqsvf5xkxppx7f622cy";}
+  {name="qtruby";value="1pyz2zimw9qz8b5nfmzvp0kzsq6rvbwv0s9kxgh7i2xxnh2mj4gp";}
+  {name="qyoto";value="0jnchp7kdskm9nc533p7bk8shy0i57dcivrmprnwyiy4sfhd4ldj";}
+  {name="rocs";value="0markia51c5a8ggxaiy6vccpdzlamy7md5jfx4jb79qp8hlv2dlc";}
+  {name="smokegen";value="1fgh5z2gwyjkgk8290nx747bj1iaj7224nx3ad8qra9v8y6d0w3d";}
+  {name="smokekde";value="15ci2bs141nbkk2f209rbdacxfdxx6ncp5cc9gv7if8sm708vjy1";}
+  {name="smokeqt";value="0wmzrr4fslam8mxvl90iyikyyipqlqf7zdynxyqr7zxlc421clyz";}
+  {name="step";value="1a2v99k3v0ry5iwvl4cza5g7sqhib78nx0p5r369fqvcbn9mn0wz";}
+  {name="superkaramba";value="1mwa1ggagl8z2422gyilcvb85sgw5db58k0fkv3jcgfi6mx3sv3a";}
+  {name="svgpart";value="1ma4msnky3civhnx0by6hy4ysi8nhzssrsabnj6hg96d7mpnjvqw";}
+  {name="sweeper";value="1vgg21ndqbba0il96x01kcy8z242g0f0lwfqgzs9cd17qx05056s";}
+  {name="umbrello";value="10q4lar55ad58cl4wnmmvmyywm5xi7gcggrfblll8j76mw4dkyda";}
+];
+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="kdnssd";  }
+    { 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="kwallet";  }
+    { 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="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="sounds"; }
+    { 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.8/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt
index 952a05a9d274..952a05a9d274 100644
--- a/pkgs/desktops/kde-4.8/kde-package/kde-submodules.xslt
+++ b/pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt
diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix
new file mode 100644
index 000000000000..42591369aea1
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix
@@ -0,0 +1,272 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "0w0p0ahh6xjk3i545vmkkaxb92s1liv8z0cgnpdh13y0i8gislzs";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "0wghv6q8mgj5cd2n56137zfxjw1jfy4y1d6x3wi0cjjjf61al4yj";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "0g14kvfbzf9p9w5279ny1ziygn2zw0z4rpsm8b6msia9afa3vscp";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "0kcbzwmk9dy0nwfjhrpmp97aqnpdrmy7lya16sikj98fwbd2d7i0";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "0p3g5bwqwvr7mmwz583km498cb9jl4yr6s4v3jdx2w1pv0iqfbfx";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "03310xg8v5hdydi5najijni4nmkycarz2n7764vdl8h3wjlxs101";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "06h19xbbkhmmaicmkjzpa6w1hp5gq3bfblvdjdb4qwm3jbp09kz0";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "08wbgb4brgihpa7sk29lzihaqg8zv024cdd4fr6s5zvrpchx3s8s";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "0a3cakngqampvczhgn52y942d131cqd68yjsr71adcgmm5r5iv7s";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "12pl1sm44bi2d07qliaazniy1a9h9jp7slvwn8l11pgfh7ygiyxn";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "1b7jd6clbwjyivpy94wz148gapdzvlggg38lv0a9zl6fkfpa6xbi";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "133wf25qhnls7a2i3s99kk8va21d2cg7v3khvgscpm1im8gi81nz";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "11szsx11vnwi3l41nsvk013nwx0gs8vdilr1jm8qz3zfbm14v7a7";
+}
+{
+  lang = "fa";
+  saneName = "fa";
+  sha256 = "0fi443pcrjvnivi76llfssw52nzddvxrabqcqxr0czfak2r6nlf5";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "0lqzaprzd7az7aslaswhdriwhcdsx9abxq90jwkpq2vliz7gxjp5";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "0c32hmg7ns4z585bysq8iqjhbfp33a5wi6r0p1hqrh5y1sc3wjj9";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "060lk2l1q9p39z90qajhiqdsiiwk1qf221087mx5xny1z5ngnnim";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "17a9xpqbqgnhlfhr85v4n3ll88dzn3z4jk6nilq149c7dg8ilnma";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "0k97r2j0iv017qrn9yh08cqji2pkrx5vy51jypr305ffmxy1dgn9";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "15vgih10aa11d048cazh1zjr6s08w34hp4xxp8cgcmpm11px460g";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "05x0bjn6dfn0k2v822sc6f45jk196sf1xj7ikn7ws7rm3nkc3sgp";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "00g7x922zxkscrkk8n9xc123qfzbmf7kkyavdsnz4jkx4msrlav3";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "0zaxa42sgscbnb8zbp878qk9d5lwdm08szr9xda287jpvzw3asss";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "00l1rh7z8fapmb3ngxnp91xz1qz110r995jk42gw77hvmf0gabb6";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "0d0b44vmiaazjsc4d7wlwg36n3ig87xj3m89hlhkhvwrisg5ccv8";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "04qrj66qd65yqv1zrwi1pspmwdj129m9kkmpa3rdfgml37ign7q8";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "1zywlhg1yr2llr8cvn4gm4ap7kqgc2lff6yi75dd782whsphqm67";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "16s126qw8kvsvidrhh02y12y8wln3skg0cn6ri658mz2ld9iicvd";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "1lrh3bly0hvzxa0zxibb45v2711fvv81i3ca9d628m68mzxim13q";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "0hf9156vi0y17hlvrn18fsdfzpaq5ylprvv55i42idxfdjr1plmq";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "1zrwwglpyw8qlqw9xyhz6pwjyrasdgfclaz2hicsgv1300nxjv4h";
+}
+{
+  lang = "mr";
+  saneName = "mr";
+  sha256 = "0nagjxn4pmmcz6762jz9dx42sarkjm7fpkblw9w42znx8zvn5nmw";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "0lb58d2vhpcnnnqnplq2i2fapkygyb47yq0rc7c93rsf10cw9n0v";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "08l4s3gwnz84sg5mlrj52wdclkm4yhj0a03jxwcfpgfypi3v0n84";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "0m6c9dxcdqgcxlx4k160nra0g11im0c2f0hf1fyk1hkb6fdq2li9";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "1kp8m2cc131arkhj7z6dsq69mh6abws7963avszbkf0zq31nnxp4";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "01ay3q7swf1vh72wrjlhpi0id7sa2a8pj8n79xn583mlzwcbmzwv";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "1rf288q1c412y161sk2y3yvy3pq159avih4d90k0laphfhhisjnv";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "0mld9dmvj9c8xay587hm7dvrbx964zdhysyi4fldad54imc61rdc";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "18c3bws8fakii5qjm0vpni6fmzw6118ndmjz4v83nk6nmy6ww0i1";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "16q3jahvpw3lpxlwqxhhd8xc9qfra2chc6g5cik8dw011sqg0zaa";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "0c62msjf34hz5f0il3x7wk4flpjk2w5f4vdpz43vr245qds2vxrl";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "0vl8y4z60nxgkgkxkzqkak7gcyc2295nxm6hghmrhfn5zyfpp99k";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "0wdv1lya8s4b97933dv72cvq7qa19ndp1knb0270pg5y74y2vq2s";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "1lafrmz16j8kzs9nvrn6j84c7wyxzwpvnn0z6ic22bzg646m276y";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "1cxy79ya3i2fm7b6w0ilpri0qrhm4bgkx3qwvgqz13lgw1p716qv";
+}
+{
+  lang = "tg";
+  saneName = "tg";
+  sha256 = "1jww7nfz8ssgqrldc11agnwv4plcr9vr4fv5q7bspa33hgm94r47";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "0kflzm80pg8l5ing3xzp1g0n9hm1sky8201s2z05aahj2rcw4bws";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "15szx7r75d0iw21hwggp96zm9s5i7svsvmqfncvd79mdmnhr2x5i";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "16l7rkxw5am90dqrkjjdvih1dvchgkggf5rinv7bpfk5z65f0ccy";
+}
+{
+  lang = "vi";
+  saneName = "vi";
+  sha256 = "08phva4y5982qvrb050n4pl7gnr2yg4zvazfg9lh38ba63l6d2g8";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "0byfyav76m7igwix5vj69bvl2rpaxmv8ncz1xc2azyrdxjba9ggd";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "176xnyxl7in1b3igy7vh6g2pz8ch32g0n6kddkkj0a13h69s5vyz";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "0i71xxxpb6p95pa69frhxqb27i935bb1vxjb3i51yms95x3gbpjs";
+}
+]
diff --git a/pkgs/desktops/kde-4.11/oxygen-icons.nix b/pkgs/desktops/kde-4.11/oxygen-icons.nix
index bdc3c5813716..d7679cc3d015 100644
--- a/pkgs/desktops/kde-4.11/oxygen-icons.nix
+++ b/pkgs/desktops/kde-4.11/oxygen-icons.nix
@@ -3,7 +3,7 @@
 kde {
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "03wzq5b9yn7x7qjl6vypsa4jh2km0vz122wyg0pfk6nfl1frgnjf";
+  outputHash = "1y765lfsy63kc4h1g1f3fc42aqlhn7svmidrkxm12nia4jazj6db";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/desktops/kde-4.8/default.nix b/pkgs/desktops/kde-4.8/default.nix
deleted file mode 100644
index b77a9e4bfecf..000000000000
--- a/pkgs/desktops/kde-4.8/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ callPackage, callPackageOrig, stdenv, qt48 }:
-
-let
-  release = "4.8.4";
-
-  # Need callPackageOrig to avoid infinite cycle
-  kde = callPackageOrig ./kde-package {
-    inherit release 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" ];
-    # kdesdk/kioslave is splitted into kioslave-svn and kioslave-git
-    kdesdk = [ "kioslave" ];
-    # 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 = {
-    kdesdk =
-      [
-      {
-        name = "kioslave-svn";
-        sane = "kioslave_svn";
-        subdir = "kioslave";
-      }
-      {
-        name = "kioslave-perldoc";
-        sane = "kioslave_perldoc";
-        subdir = "kioslave";
-      }
-      ];
-  };
-
-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;
-    inherit (kde.manifest) stable;
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.8/files/kde-wallpapers-buildsystem.patch
deleted file mode 100644
index 378cdb646940..000000000000
--- a/pkgs/desktops/kde-4.8/files/kde-wallpapers-buildsystem.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3d3e247..f78db67 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,5 +1,10 @@
--find_package(KDE4 REQUIRED)
--include(KDE4Defaults)
-+project(kde-wallpapers NONE)
-+if( WALLPAPER_INSTALL_DIR )
-+  message(STATUS "Installing wallpapers to user-supplied directory ${WALLPAPER_INSTALL_DIR}")
-+else()
-+  find_package(KDE4 REQUIRED)
-+  include(KDE4Defaults)
-+endif()
- 
- install(DIRECTORY Air DESTINATION ${WALLPAPER_INSTALL_DIR} PATTERN .svn EXCLUDE)
- 
diff --git a/pkgs/desktops/kde-4.8/files/polkit-install.patch b/pkgs/desktops/kde-4.8/files/polkit-install.patch
deleted file mode 100644
index d2ecac663ec5..000000000000
--- a/pkgs/desktops/kde-4.8/files/polkit-install.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-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.8/kactivities.nix b/pkgs/desktops/kde-4.8/kactivities.nix
deleted file mode 100644
index 8f726577ef89..000000000000
--- a/pkgs/desktops/kde-4.8/kactivities.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, shared_desktop_ontologies }:
-
-kde {
-  propagatedBuildInputs = [ kdelibs shared_desktop_ontologies ];
-
-  meta = {
-    description = "KDE activities library and daemon";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kde-baseapps/kate.nix b/pkgs/desktops/kde-4.8/kde-baseapps/kate.nix
deleted file mode 100644
index 1ffbcf9ebf98..000000000000
--- a/pkgs/desktops/kde-4.8/kde-baseapps/kate.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.8/kde-baseapps/kde-baseapps.nix
deleted file mode 100644
index 45192e0c4600..000000000000
--- a/pkgs/desktops/kde-4.8/kde-baseapps/kde-baseapps.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, shared_desktop_ontologies, glib, htmlTidy }:
-
-kde {
-  buildInputs = [ kdelibs shared_desktop_ontologies glib htmlTidy ];
-
-  meta = {
-    description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kde-baseapps/konsole.nix b/pkgs/desktops/kde-4.8/kde-baseapps/konsole.nix
deleted file mode 100644
index 0db47fb2d7c4..000000000000
--- a/pkgs/desktops/kde-4.8/kde-baseapps/konsole.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  meta = {
-    description = "Konsole, the KDE terminal emulator";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kde-package/4.8.4.nix b/pkgs/desktops/kde-4.8/kde-package/4.8.4.nix
deleted file mode 100644
index 6fbaf097be09..000000000000
--- a/pkgs/desktops/kde-4.8/kde-package/4.8.4.nix
+++ /dev/null
@@ -1,299 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
-  {name="analitza";value="0g3k6i9ncl8m8xr85wz6k0vbmjq7jwmygm0353jq2lj2hy5i2ipg";}
-  {name="ark";value="10m6bmiz4ylgbmxx03q0zfayy1zinxx696jczmllxn557z75nzn5";}
-  {name="blinken";value="1n0m70by3wd5d4nqlgqrm6bg0nplc3b92cn74xq5adi1dfi63ggr";}
-  {name="cantor";value="1grjxbzyshc9jlmx9gvxfsxdhcgrn391s3bh0mmprnk0kcsi4s5i";}
-  {name="filelight";value="1fpkwyz74nqm0szfylbjqfxwv25rgfdg03ghq5mncs2ys8mh4rn1";}
-  {name="gwenview";value="1xxkhq4psl3zq0ah6fp42s5ih1xik0kxq4sb2r2mhkimrsj11rvz";}
-  {name="jovie";value="103d7c1h3qfqsh6phyxm4g712kykkpd1vls26kypn3d6linc9p1s";}
-  {name="kaccessible";value="0s772i8nc1lx6c8sjsy3m928dcyackd8pay44b8nlp8k8hzh5x62";}
-  {name="kactivities";value="0kxpg0bwr9ph3bzndc5vqgfqkxy443chyg3rbrdvgbgb0xm54r5f";}
-  {name="kalgebra";value="0p5qhxwd6h8kvfd8n81ah0pszaa550z7y2zlzvrgypmfcgx8a802";}
-  {name="kalzium";value="17sxslsg5pi1xh7l0h6y0rmjhb6nshq9psjjjqwhfl7id6ansb24";}
-  {name="kamera";value="0r8rr4lq3jrvfz2fw4in83vsxqjm02x16h842r4hnn3k5svaqs49";}
-  {name="kanagram";value="02wp2rkm5m6920rvs6iyalvv4xczgh21w1mrf4a694j14fna4m1n";}
-  {name="kate";value="0530rq6pfrim2mfjkvpl9qxv56fykml7aq3awchyda3xbkq7vk3y";}
-  {name="kbruch";value="1znm2dmsib7svyfqpyhblip5ic4y2xdylax1kxx7ssmjgsi3bw54";}
-  {name="kcalc";value="1dv3d833ksz9bqrwhq9pbsqk0a8hv3jlqlxbqccwgkx840hmpclz";}
-  {name="kcharselect";value="015pj1zmlnjr8ys3arks3b1yqf8rh9fc02p0xfq1fkp11ing0lfg";}
-  {name="kcolorchooser";value="04360b4pjsdl0ckdwipn3y407fmsx2bimkzqqm01hz4vdyb41d9k";}
-  {name="kdeadmin";value="0qvynvim50xsv060598bhv6pwxd578sg25g1z2dzdi4ih021nlr0";}
-  {name="kdeartwork";value="1v5an8385d9zjb29ps94xgvpazpvqffxnlvfp4940pj5imdg98nm";}
-  {name="kde-baseapps";value="0z2jasna2d8i3iy8w4grylfml9a510imhl0bxnsw6whar409rzki";}
-  {name="kdegames";value="1jji5dw9qllhv7zh7a456iwwsb5vqrvjd0p871s2qi8lcd54fs1a";}
-  {name="kdegraphics-mobipocket";value="1ya4jzj864ikw6ysp9ip1ha2n6a8im380k4yhmca9agp5f21zvva";}
-  {name="kdegraphics-strigi-analyzer";value="1cwvaszjawzdbvggxzzaxvxdjpxmr9x4p4fqy4wq38qzx06lnsd1";}
-  {name="kdegraphics-thumbnailers";value="1zxvqzadmcsy5ydxx617gpfh3vswcrnyjwn19scy1cv7nwdpxnqj";}
-  {name="kdelibs";value="1wr0kadmc33kqbr93h05g6yxqwp66cgs9ab32danvqbfns0qgb15";}
-  {name="kdemultimedia";value="0h56vy27kb1s4p3vpa42gj3xjbpwl38n97bbjq7g1vj8dq2k0pl4";}
-  {name="kdenetwork";value="10lyrygi3avfiyaqxgw9g6dc3pmsbggawjvnkxhm8f2j2gy7sbbc";}
-  {name="kdepim";value="0q4fq26gg3hfmvxzfbizsa1ffk88a994k31ybbv72b7xcdjz68ff";}
-  {name="kdepimlibs";value="1wqi7dh1w3cinkd8sgc0zx9qf7fyvizli4asbimxh5faal1b10bb";}
-  {name="kdepim-runtime";value="1v1klgcfa0hwi7bxqn0nphd7hlbxwh3v6apghra0b8f7qqnzxysp";}
-  {name="kdeplasma-addons";value="1f4bpgrjqa9c1ikngc9wn3a0y0hw39icswc77ys4j04b9zazg8qn";}
-  {name="kde-runtime";value="0g2jlxfxm4flx1pr920hbmqaq433y8bdglk08vnhycychppkacmc";}
-  {name="kdesdk";value="15zg649sm851ig7yxcsv9cx54x36k94y83q1wvm1kf84jb1vl1yg";}
-  {name="kdetoys";value="038h6fmqfy7mh2i7kg3510w0jwji9hac94dpzfmfgk36i461dbnn";}
-  {name="kde-wallpapers";value="18hbd9d19yf48vs4vmxrrxvr87baxxlf3z417f69kgvjpvmpl905";}
-  {name="kdewebdev";value="1mv5nq8ayz5np1vmgk58dsai6wmqdl1kvq96pvi5awmhxxla2f5x";}
-  {name="kde-workspace";value="12vn117nbqxipvb58v7swc4prfddijz7m0c03xn5wi1kbzq5xj9n";}
-  {name="kdf";value="0alc9a7x75f8dx5gbhdqwn0xfx7kr5q7dl9qfmcmrgm9vn6agxpw";}
-  {name="kfloppy";value="0ajc3yq86n4q7hxjgibvkrbbagg7xnlbd6g7mx3cvmq9l7na105b";}
-  {name="kgamma";value="1yviy8xz8cqlbpvjj7sp9jylq4lk98r3mpp6lxl95ypkjqbjx8w3";}
-  {name="kgeography";value="0wklqqprg7d7mxjlwfyv4n5d2igkr6b2i174vxzdhj9dbsh9r67f";}
-  {name="kgpg";value="034mg0s5v0vqq59x1fwddslg6r2dx3v70icka6j2r9lhi8635j5m";}
-  {name="khangman";value="0b64pqywvxdxrbp3xcscimdlsn44hwlvm6ydxiwx2salm2rn9xxa";}
-  {name="kig";value="0cblkm71j78dq4r90r9fladn8nxq3xq75w40f85jl9dkmm1y3yiv";}
-  {name="kimono";value="1ij7bcvxv8zkfzcrmjasq6x0nf41104x5bj6ksfc8mibml182bq7";}
-  {name="kiten";value="1c3rdagddk0xd0j6vnp0bj16in78879niakvq1s35s7grgxh31ia";}
-  {name="klettres";value="0sxd3hwpzyzvjrvly0w2fwrssg4a9rs35fp9yi6in19x7x8rbsxl";}
-  {name="kmag";value="0fgddhsf9f5n4crzp4z2ii5p1asyvpbmsiqgb61kswqbpsr96mv8";}
-  {name="kmousetool";value="0f4ym6dihq9wmwaassap0ixam46lqjvf6jqkr6ib0y87myj3h9mi";}
-  {name="kmouth";value="1hpphlav8ip4kx3787p3dkfddkzpgg4mj25ripjcpy0xpbfvc2lw";}
-  {name="kmplot";value="19sab4hmdv8kwipgjzg4v3gq4lv1i17yh4hdq3y6lcyf7wjkxjpd";}
-  {name="kolourpaint";value="0mr4f1vbhg3vhap92f8jj5lkpfr8cjphn863vda49rfdydhv1x6w";}
-  {name="konsole";value="10fgjsq2dj56ifnzxy3dz87s92m2zfcmpqa751b5ar0wp3pil045";}
-  {name="korundum";value="0vkhf40ghbqgs9vxl7zpfq21r7sc9z4rm0iyl9cab04wvi9r2nsk";}
-  {name="kremotecontrol";value="11z0wc9yvpk72yrx9ic3zpky2z346wdkvs8qcik9nfbbxxpk4vnx";}
-  {name="kross-interpreters";value="0afqwxxsysd7wwl5xgwdw58q7hjr8y5sdvsfrz8sfkirinfdmp9s";}
-  {name="kruler";value="19xppbxvyw6qzgxz4y1yzz9g104464z1i7dvsd3919njqhsrm628";}
-  {name="ksaneplugin";value="0z2gkc0997s79haf2nxgg5xgvmpk5iz2s33147qhhy12hys6jq9m";}
-  {name="ksecrets";value="1f4n3x5rmc0l16q3bripk49mj0nyak6s3vf3v7j4g89qz8rr4c87";}
-  {name="ksnapshot";value="069v2qs4nl8514kdgcp6y03n1n4d6ymm5j5yq1wwrgij6iqc7a78";}
-  {name="kstars";value="1hl0z77cl317pm442lcd2hk6rb83hvch904a0jgflcxcd2w0gg54";}
-  {name="ktimer";value="1hf0sbl9y0a9w2xdxdl88lmv55skz7fp1kl9sgnsyj8gzjyv3nwa";}
-  {name="ktouch";value="00hij38zk469ja3ns9d7qpj91kyndwrnmf0v2fqd2nicv9mqxdih";}
-  {name="kturtle";value="0wvskx6cif0gsgvsc072i33jl58bp2n74vyl2qgbw4bibckp9aq8";}
-  {name="kwallet";value="1n4vl0gvr8sqh8ld0bmz3qdz8lws19vzndrp10xl5fmb40cibdsz";}
-  {name="kwordquiz";value="1w2xwfqz3bjmm0rg4pn08vgm7f0m1wr2bc8cwgjayc8105xy572h";}
-  {name="libkdcraw";value="0fpx8yprgrk6sg03xms8swgqb7b41ia2rnf9n5phm5hvbpwwbw9f";}
-  {name="libkdeedu";value="1nz53vjmd48x9vk73wrfz6k94drxv0w2nsa0nnh68q1mphxm8cz3";}
-  {name="libkexiv2";value="1w7h8ckq2b7pi6qdf8p7rk6jzpn5caxflzdczlaxa7jn84k4rsjn";}
-  {name="libkipi";value="02cdmqjky5sfwpz9m85yixkmcsh9ybjdspsi8dwhypndpq3pgj3w";}
-  {name="libksane";value="11wgzdccwix4whfdj8f7fyapxk9yp8jfra56s9gyn7a4sfgp40sp";}
-  {name="marble";value="09ph1lg3y6bzkxdnpwbhlysj9s56fbaxwsxpn2ydwg4vnsspspiy";}
-  {name="okular";value="06xd3xpm1hp2dk382p4sd2dj2gdwb1f4d97hkh67riddwwzlcdal";}
-  {name="oxygen-icons";value="0zw6kv456gf955ip28iykx8nmd4h0scpqdj4f035yqiyxms9p4g1";}
-  {name="parley";value="1mg5mkxlzrb1clnclsfcl4vpd8yn97asgcazlq9wmgr077z0f9yd";}
-  {name="perlkde";value="1k94rfchpi7nvzvwz2flx49ni92aw6x8cc6qnq1vr98j9hangjg4";}
-  {name="perlqt";value="0rjwd2d2jlqlsjvw6w198jb79kjib89p3gbslj4dfgblrq1cgrdq";}
-  {name="printer-applet";value="1y8r39dyc04bkqm33s65m77c6y4y19bi32v2cx5bl67w5377hvh0";}
-  {name="pykde4";value="0gnzqw2xj1swm2jr728fxb7l48ll8whvc4ranwcvx8920jdd8vk7";}
-  {name="qtruby";value="1ixb8kav1pxpkwar99p3cgwi6nql1dfjwmyq7ai2h8ls7g075gz8";}
-  {name="qyoto";value="07m64n9xlnpgmw6jj91vwyzzjnmwn9px3ckfi93qs4mgnsj263zi";}
-  {name="rocs";value="0zxdskps9ifc8yhrk6lngjsh4abp98pv7d9y48lw830jhy78bm57";}
-  {name="smokegen";value="08yzxg6x3bdpza7hld1bd1ils5ipav2laazcar811vsn70lr8rqy";}
-  {name="smokekde";value="1k8r7d82mbmilg2x565w9nwxb5x6xfznscqwv9vmsgync56nk982";}
-  {name="smokeqt";value="036128q7mz5701ikw7fjc22ygkmnlscckmlgv3nb8d914maa1cl0";}
-  {name="step";value="1i1334p7qlc84m8xjc4sp20pmnqal26y8854pcv7lh8r3xzyscd6";}
-  {name="superkaramba";value="05xgflb9ramhrqb6avqagxp1kcdax6qwdf1k6wm85l8ys6vjimry";}
-  {name="svgpart";value="0xrs93njmp5322m4dh3ycvwgl9p618kzsi5xmrnlksb9n0hi91gw";}
-  {name="sweeper";value="1gcyffzzap2gdxk3js43bllf87795f97i0lmykgyllhp364czv6x";}
-];
-modules=[
-{
-  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="kdeutils";
-  split=true;
-  pkgs=[
-    { name="ark";  }
-    { name="filelight";  }
-    { name="kcalc";  }
-    { name="kcharselect";  }
-    { name="kdf";  }
-    { name="kfloppy";  }
-    { name="kgpg";  }
-    { name="kremotecontrol";  }
-    { name="ksecrets";  }
-    { name="ktimer";  }
-    { name="kwallet";  }
-    { name="printer-applet"; sane="printer_applet"; }
-    { name="superkaramba";  }
-    { name="sweeper";  }
-  ];
-}
-{
-  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="parley";  }
-    { name="rocs";  }
-    { name="step";  }
-  ];
-}
-{
-  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="kate";  }
-    { name="kde-baseapps"; sane="kde_baseapps"; }
-    { name="konsole";  }
-  ];
-}
-{ module="kactivities";  split=false;}
-{ module="kdeadmin";  split=false;
-  pkgs=[
-    { name="strigi-analyzer"; sane="strigi_analyzer";}
-    { name="kuser"; }
-    { name="kcron"; }
-    { name="ksystemlog"; }
-    { name="system-config-printer-kde"; sane="system_config_printer_kde";}
-  ];
-
-}
-{ module="kdeartwork";  split=false;
-  pkgs=[
-    { name="ColorSchemes"; }
-    { name="IconThemes"; }
-    { name="emoticons"; }
-    { name="kscreensaver"; }
-    { name="kwin-styles"; sane="kwin_styles";}
-    { name="sounds"; }
-    { name="styles"; }
-    { name="wallpapers"; }
-    { name="HighResolutionWallpapers"; }
-    { name="WeatherWallpapers"; }
-    { name="desktopthemes"; }
-    { name="aurorae"; }
-  ];
-
-}
-{ module="kdegames";  split=false;}
-{ module="kdelibs";  split=false;}
-{ module="kdemultimedia";  split=false;}
-{ module="kdenetwork";  split=false;
-  pkgs=[
-    { name="kfile-plugins"; sane="kfile_plugins";}
-    { name="kget"; }
-    { name="kopete"; }
-    { name="krdc"; }
-    { name="kppp"; }
-    { name="krfb"; }
-    { name="kdnssd"; }
-    { name="filesharing"; }
-  ];
-
-}
-{ 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="kdesdk";  split=false;
-  pkgs=[
-    { name="cervisia"; }
-    { name="lokalize"; }
-    { name="kdeaccounts-plugin"; sane="kdeaccounts_plugin";}
-    { name="dolphin-plugins-svn"; sane="dolphin_plugins_svn";subdir="dolphin-plugins/svn"; }
-    { name="dolphin-plugins-git"; sane="dolphin_plugins_git";subdir="dolphin-plugins/git"; }
-    { name="dolphin-plugins-hg"; sane="dolphin_plugins_hg";subdir="dolphin-plugins/hg"; }
-    { name="dolphin-plugins-bazaar"; sane="dolphin_plugins_bazaar";subdir="dolphin-plugins/bazaar"; }
-    { name="kcachegrind"; }
-    { name="kapptemplate"; }
-    { name="kpartloader"; }
-    { name="strigi-analyzer"; sane="strigi_analyzer";}
-    { name="kioslave"; }
-    { name="okteta"; }
-    { name="kmtrace"; }
-    { name="kompare"; }
-    { name="kprofilemethod"; }
-    { name="kstartperf"; }
-    { name="kuiviewer"; }
-    { name="poxml"; }
-    { name="scripts"; }
-    { name="umbrello"; }
-  ];
-
-}
-{ module="kdetoys";  split=false;
-  pkgs=[
-    { name="kteatime"; }
-    { name="ktux"; }
-    { name="amor"; }
-  ];
-
-}
-{ 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.8/kde-package/default.nix b/pkgs/desktops/kde-4.8/kde-package/default.nix
deleted file mode 100644
index 8a6e8e167517..000000000000
--- a/pkgs/desktops/kde-4.8/kde-package/default.nix
+++ /dev/null
@@ -1,128 +0,0 @@
-{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
-, release, 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;
-    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_, ...}:
-    stdenv.mkDerivation ({
-      name = "${name}-${release}";
-      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.8/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.8/kde-package/kde-manifest.sh
deleted file mode 100755
index e964ce3ddc11..000000000000
--- a/pkgs/desktops/kde-4.8/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.8/kde-runtime.nix b/pkgs/desktops/kde-4.8/kde-runtime.nix
deleted file mode 100644
index b8f9afff7b3d..000000000000
--- a/pkgs/desktops/kde-4.8/kde-runtime.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ kde, kdelibs, shared_desktop_ontologies, bzip2, libssh, exiv2, attica
-, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, qca2, xz, pulseaudio
-, networkmanager
-}:
-
-kde {
-  buildInputs =
-    [ kdelibs shared_desktop_ontologies bzip2 libssh exiv2 attica xz networkmanager
-      samba libcanberra ntrack libjpeg qca2 pulseaudio
-    ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  passthru.propagatedUserEnvPackages = [ virtuoso ];
-
-  meta = {
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kde-wallpapers.nix b/pkgs/desktops/kde-4.8/kde-wallpapers.nix
deleted file mode 100644
index ad4c22c632db..000000000000
--- a/pkgs/desktops/kde-4.8/kde-wallpapers.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ kde, cmake }:
-
-kde {
-  nativeBuildInputs = [ cmake ];
-
-  patches = [ ./files/kde-wallpapers-buildsystem.patch ];
-
-  cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers";
-
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "b8dfcc905abc46eebac2dd07267879d6a27e6e77f5253eb9c65fe594766770c4";
-
-  meta = {
-    description = "Wallpapers for KDE";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kde-workspace.nix b/pkgs/desktops/kde-4.8/kde-workspace.nix
deleted file mode 100644
index 394cd550b968..000000000000
--- a/pkgs/desktops/kde-4.8/kde-workspace.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, shared_desktop_ontologies,
-  lm_sensors, pciutils, libraw1394, libusb, libxklavier, python, libqalculate,
-  xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi,
-  pykde4, libjpeg, pkgconfig, libXft, libXxf86misc, kactivities
-}:
-
-kde {
-
-  buildInputs =
-    [ kdelibs qimageblitz libdbusmenu_qt pykde4 libjpeg libXft libXxf86misc
-      xorg.libxkbfile xorg.libXcomposite xorg.libXScrnSaver xorg.libXtst
-      xorg.libXcomposite xorg.libXdamage xorg.libXau xorg.libXdmcp
-      xorg.libpthreadstubs
-      boost gpsd shared_desktop_ontologies lm_sensors pciutils libraw1394
-      libusb python libqalculate kdepimlibs pam prison akonadi
-      kactivities
-    ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  preConfigure =
-   ''
-     # Fix incorrect path to kde4-config.
-     substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
-
-     # Fix the path to the keyboard configuration files.
-     substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
-       --replace /usr/share/X11 ${xkeyboard_config}/etc/X11
-   '';
-
-  enableParallelBuilding = false; # frequent problems on Hydra
-
-  meta = {
-    description = "KDE workspace components such as Plasma, Kwin and System Settings";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.8/kdeaccessibility/jovie.nix
deleted file mode 100644
index d38c80c4c36a..000000000000
--- a/pkgs/desktops/kde-4.8/kdeaccessibility/jovie.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, speechd }:
-
-kde {
-  buildInputs = [ kdelibs speechd ];
-
-  meta = {
-    description = "Text-to-speech synthesis daemon";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.8/kdeaccessibility/kaccessible.nix
deleted file mode 100644
index 98fae7c983f8..000000000000
--- a/pkgs/desktops/kde-4.8/kdeaccessibility/kaccessible.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, speechd }:
-
-kde {
-  buildInputs = [ kdelibs speechd ];
-
-  meta = {
-    description = "Bridge that provides accessibility services to applications";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.8/kdeaccessibility/kmag.nix
deleted file mode 100644
index f3b27dacf672..000000000000
--- a/pkgs/desktops/kde-4.8/kdeaccessibility/kmag.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Screen magnifier for KDE";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.8/kdeaccessibility/kmousetool.nix
deleted file mode 100644
index 8e0caa76ed9c..000000000000
--- a/pkgs/desktops/kde-4.8/kdeaccessibility/kmousetool.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libXtst, libXt }:
-
-kde {
-  buildInputs = [ kdelibs libXtst libXt ];
-
-  meta = {
-    description = "A program that clicks the mouse for you";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.8/kdeaccessibility/kmouth.nix
deleted file mode 100644
index 4159501967cd..000000000000
--- a/pkgs/desktops/kde-4.8/kdeaccessibility/kmouth.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A type-and-say front end for speech synthesizers";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.8/kdeadmin/kcron.nix
deleted file mode 100644
index bada0c1cb108..000000000000
--- a/pkgs/desktops/kde-4.8/kdeadmin/kcron.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.8/kdeadmin/ksystemlog.nix
deleted file mode 100644
index bada0c1cb108..000000000000
--- a/pkgs/desktops/kde-4.8/kdeadmin/ksystemlog.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.8/kdeadmin/kuser.nix
deleted file mode 100644
index 571674a461ad..000000000000
--- a/pkgs/desktops/kde-4.8/kdeadmin/kuser.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs, kdepimlibs }:
-
-kde {
-  buildInputs = [ kdelibs kdepimlibs ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdeadmin/system-config-printer-kde.nix b/pkgs/desktops/kde-4.8/kdeadmin/system-config-printer-kde.nix
deleted file mode 100644
index 2c462f67c159..000000000000
--- a/pkgs/desktops/kde-4.8/kdeadmin/system-config-printer-kde.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ kde, pkgconfig, pythonPackages, sip, pycups, pygobject, system_config_printer,
-  kdelibs, kdepimlibs, pykde4, cups, nettools }:
-
-let s_c_p = system_config_printer.override { withGUI = false; }; in
-kde {
-  buildInputs = [ kdelibs kdepimlibs pythonPackages.python pycups pykde4 sip
-    pygobject s_c_p ];
-
-  passthru = { system_config_printer = s_c_p; };
-
-  preConfigure =
-    ''
-      for i in system-config-printer-kde/cmake-modules/FindSystemConfigPrinter.py system-config-printer-kde/system-config-printer-kde.py; do
-        substituteInPlace $i \
-          --replace /usr/share/system-config-printer ${s_c_p}/share/system-config-printer \
-          --replace /usr/bin/cupstestppd ${cups}/bin/cupstestppd \
-          --replace /bin/hostname ${nettools}/bin/hostname
-      done
-    '';
-
-  postInstall =
-    ''
-      # Bake the required Python path into the printer configuration program.
-      res=
-      for i in $(IFS=:; echo $PYTHONPATH); do res="$res''${res:+,} '$i'"; done
-
-      sed -i $out/share/apps/system-config-printer-kde/system-config-printer-kde.py \
-          -e "1 a import sys\nsys.path = [$res] + sys.path"
-
-      mkdir -p $out/nix-support
-      echo ${pykde4} > $out/nix-support/propagated-user-env-packages
-    '';
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.8/kdeartwork/ColorSchemes.nix
deleted file mode 100644
index acccf66976fc..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/ColorSchemes.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  name = "kde-color-schemes";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Additional KDE color schemes";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.8/kdeartwork/FindXscreensaver.cmake
deleted file mode 100644
index 499ed75268e9..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/FindXscreensaver.cmake
+++ /dev/null
@@ -1,73 +0,0 @@
-#Macro to find xscreensaver directory
-
-# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-if (NOT XSCREENSAVER_FOUND)
-  FIND_PATH(XSCREENSAVER_DIR deco
-    HINTS
-      ${KDE4_INCLUDE_DIR}
-    PATHS
-      /usr
-      /usr/local
-      /opt/local
-      /usr/X11R6
-      /opt/kde
-      /opt/kde3
-      /usr/kde
-      /usr/local/kde
-      /usr/local/xscreensaver
-      /usr/openwin/lib/xscreensaver
-      /etc
-    PATH_SUFFIXES
-      lib${LIB_SUFFIX}/xscreensaver
-      lib${LIB_SUFFIX}/misc/xscreensaver
-      lib/xscreensaver
-      lib64/xscreensaver
-      lib/misc/xscreensaver
-      libexec/xscreensaver
-      bin/xscreensaver-hacks
-      hacks)
-  message(STATUS "XSCREENSAVER_DIR <${XSCREENSAVER_DIR}>")
-
-  FIND_PATH(XSCREENSAVER_CONFIG_DIR deco.xml
-    PATHS
-    ${KDE4_INCLUDE_DIR}
-    /usr/
-    /usr/local/
-    /opt/local/
-    /usr/X11R6/
-    /opt/kde/
-    /opt/kde3/
-    /usr/kde/
-    /usr/local/kde/
-    /usr/openwin/lib/xscreensaver/
-    /etc/
-    PATH_SUFFIXES xscreensaver xscreensaver/config share/xscreensaver/config
-  )
-  MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
-
-endif(NOT XSCREENSAVER_FOUND)
-
-#MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
-#MESSAGE(STATUS "XSCREENSAVER_DIR :<${XSCREENSAVER_DIR}>")
-
-# Need to fix hack
-if(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
-    set(XSCREENSAVER_FOUND TRUE)
-endif(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
-
-if (XSCREENSAVER_FOUND)
-  if (NOT Xscreensaver_FIND_QUIETLY)
-    message(STATUS "Found XSCREENSAVER_CONFIG_DIR <${XSCREENSAVER_CONFIG_DIR}>")
-  endif (NOT Xscreensaver_FIND_QUIETLY)
-else (XSCREENSAVER_FOUND)
-  if (Xscreensaver_FIND_REQUIRED)
-    message(FATAL_ERROR "XScreenSaver not found")
-  endif (Xscreensaver_FIND_REQUIRED)
-endif (XSCREENSAVER_FOUND)
-
-
-MARK_AS_ADVANCED(XSCREENSAVER_DIR XSCREENSAVER_CONFIG_DIR)
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.8/kdeartwork/HighResolutionWallpapers.nix
deleted file mode 100644
index edffca1562e1..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/HighResolutionWallpapers.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
-  name = "kde-wallpapers-high-resolution";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE wallpapers in high resolution";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.8/kdeartwork/IconThemes.nix
deleted file mode 100644
index 43071e8bd142..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/IconThemes.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  name = "kdeartwork-icon-themes";
-
-  # Sources contain primary and kdeclassic as well but they're not installed
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE nuvola and mono icon themes";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.8/kdeartwork/WeatherWallpapers.nix
deleted file mode 100644
index 947e5e17ab0c..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/WeatherWallpapers.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
-  name = "kde-weather-wallpapers";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Additional KDE wallpapers (weather)";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/aurorae.nix b/pkgs/desktops/kde-4.8/kdeartwork/aurorae.nix
deleted file mode 100644
index 4bce95217cc6..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/aurorae.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  name = "aurorae-themes";
-
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.8/kdeartwork/desktopthemes.nix
deleted file mode 100644
index 93dd361af738..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/desktopthemes.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  name = "kde-desktop-themes";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Additional KDE desktop themes";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.8/kdeartwork/emoticons.nix
deleted file mode 100644
index 5ef9f78a7195..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/emoticons.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  name = "kde-emotion-icons";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Additional KDE emotion icons (smiles)";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.8/kdeartwork/kscreensaver.nix
deleted file mode 100644
index 7028b9db228d..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/kscreensaver.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, xscreensaver, kde_workspace, eigen, libkexiv2, libXt, pkgconfig }:
-
-kde {
-  buildInputs = [ kdelibs xscreensaver kde_workspace eigen libkexiv2 libXt ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  preConfigure = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake";
-
-  cmakeFlags = [ "-DBUILD_asciiquarium:BOOL=ON" ];
-
-  meta = {
-    description = "KDE screensavers";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.8/kdeartwork/kwin-styles.nix
deleted file mode 100644
index b5d769b216db..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/kwin-styles.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, kde_workspace }:
-
-kde {
-  buildInputs = [ kdelibs kde_workspace ];
-
-  meta = {
-    description = "Styles for KWin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/sounds.nix b/pkgs/desktops/kde-4.8/kdeartwork/sounds.nix
deleted file mode 100644
index e98705da889e..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/sounds.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
-  name = "kde-sounds";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "New login/logout sounds";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/styles.nix b/pkgs/desktops/kde-4.8/kdeartwork/styles.nix
deleted file mode 100644
index 6a1306c37100..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/styles.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
-  name = "kde-style-phase";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Phase, a widget style for KDE";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.8/kdeartwork/wallpapers.nix
deleted file mode 100644
index 611c6a70f6bc..000000000000
--- a/pkgs/desktops/kde-4.8/kdeartwork/wallpapers.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
-  name = "kde-wallpapers";
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Additional KDE wallpapers";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdebindings/perlqt-include-smokeqt.patch b/pkgs/desktops/kde-4.8/kdebindings/perlqt-include-smokeqt.patch
deleted file mode 100644
index fd67860283b8..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/perlqt-include-smokeqt.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 48b92b74bc6fd270c33a726257e2879203cf5064
-Author: Yury G. Kudryashov [diff odt] <urkud.urkud@gmail.com>
-Date:   Wed Mar 21 00:47:43 2012 +0400
-
-    Include SMOKE_QTCORE_INCLUDE_DIR
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48020a1..2263a73 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -14,7 +14,7 @@ find_package(Smoke COMPONENTS QtCore QtGui QtNetwork Qt3Support QtDeclarative Qt
-                               QtOpenGl QtScript QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns
-                               Phonon Qwt QSci QImageBlitz)
-                               
--include_directories(${SMOKE_INCLUDE_DIR} ${QT_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/src)
-+include_directories(${SMOKE_INCLUDE_DIR} ${SMOKE_QTCORE_INCLUDE_DIR} ${QT_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/src)
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${SMOKE_CMAKE_MODULE_DIR})
- include(MacroOptionalFindPackage)
- include(MacroOptionalAddBindings)
diff --git a/pkgs/desktops/kde-4.8/kdebindings/perlqt-rewrite-FindPerlMore.patch b/pkgs/desktops/kde-4.8/kdebindings/perlqt-rewrite-FindPerlMore.patch
deleted file mode 100644
index c7f73815f545..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/perlqt-rewrite-FindPerlMore.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-commit e702abfd16f610e773fb0310d8c6512991794c63
-Author: Yury G. Kudryashov [diff odt] <urkud.urkud@gmail.com>
-Date:   Wed Mar 21 00:50:02 2012 +0400
-
-    Rewrite FindPerlMore.cmake
-    
-    * Ask perl for expanded paths
-    * Move execute_process to a macro
-    * Add PERL_*_INSTALL_DIR variables that point to CMAKE_INSTALL_PREFIX
-    
-    The last change makes it easy to install a file into CMAKE_INSTALL_PREFIX
-    instead of perl install prefix.Add debug message
-
-diff --git a/cmake/FindPerlMore.cmake b/cmake/FindPerlMore.cmake
-index 6412a47..cc8faf8 100644
---- a/cmake/FindPerlMore.cmake
-+++ b/cmake/FindPerlMore.cmake
-@@ -5,54 +5,52 @@
- #
- #  PERL_INCLUDE_PATH = path to where perl.h can be found
- 
--if(PERL_INCLUDE_PATH)
--   # Already in cache, be silent
--   SET(PERL_HEADERS_FOUND TRUE)
--endif (PERL_INCLUDE_PATH)		
--
--IF(PERL_EXECUTABLE)
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{archlib}"
--   		OUTPUT_VARIABLE PERL_ARCH_LIB_DIR)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{sitearch}"
--   		OUTPUT_VARIABLE PERL_SITE_ARCH_DIR)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{vendorarch}"
--   		OUTPUT_VARIABLE PERL_VENDOR_ARCH_DIR)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{sitelib}"
--   		OUTPUT_VARIABLE PERL_SITE_LIB_DIR)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{vendorlib}"
--   		OUTPUT_VARIABLE PERL_VENDOR_LIB_DIR)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{version}"
--   		OUTPUT_VARIABLE PERL_VERSION)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{ccflags}"
--   		OUTPUT_VARIABLE PERL_CXX_FLAGS)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{ccdlflags}"
--   		OUTPUT_VARIABLE PERL_CCDL_FLAGS)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -MFile::Spec -e "print '-L' . File::Spec->catdir(\$Config{archlibexp}, 'CORE')"
--   		OUTPUT_VARIABLE PERL_EXTRA_LIB_PATHS)
--
--	EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{perllibs}"
--   		OUTPUT_VARIABLE PERL_LIBS)
--
--	FIND_PATH(PERL_INCLUDE_PATH 
--  		NAMES perl.h
--  		PATHS ${PERL_ARCH_LIB_DIR}/CORE
--  	)
--
--	if(PERL_INCLUDE_PATH)
--		SET(PERL_HEADERS_FOUND TRUE)
--	endif (PERL_INCLUDE_PATH)
--
--	MARK_AS_ADVANCED(
--	  PERL_INCLUDE_PATH
--	  )
-+if(FIND_PERLMORE_REQUIRED)
-+  find_package(Perl REQUIRED)
-+else()
-+ find_package(Perl)
-+endif()
-+
-+macro(_perl_get_config_var name output)
-+  execute_process(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{${name}}"
-+                  OUTPUT_VARIABLE PERL_${output})
-+endmacro()
-+
-+macro(_perl_get_config_dir name)
-+  string(TOLOWER ${name} _tmp)
-+  string(REPLACE "_" "" _tmp ${_tmp})
-+  _perl_get_config_var(${_tmp}exp ${name}_DIR)
-+  string(REPLACE "${PERL_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" PERL_${name}_INSTALL_DIR "${PERL_${name}_DIR}")
-+endmacro()
-+
-+if(PERL_EXECUTABLE)
-+  _perl_get_config_var(prefixexp ROOT_DIR)
-+
-+  _perl_get_config_dir(ARCH_LIB)
-+  _perl_get_config_dir(SITE_ARCH)
-+  _perl_get_config_dir(VENDOR_ARCH)
-+  _perl_get_config_dir(SITE_LIB)
-+  _perl_get_config_dir(VENDOR_LIB)
-+
-+  _perl_get_config_var(version VERSION)
-+  _perl_get_config_var(ccflags CXX_FLAGS)
-+  _perl_get_config_var(ccdlflags CCDL_FLAGS)
-+
-+  EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -MFile::Spec -e "print '-L' . File::Spec->catdir(\$Config{archlibexp}, 'CORE')"
-+                  OUTPUT_VARIABLE PERL_EXTRA_LIB_PATHS)
-+
-+  _perl_get_config_var(perllibs LIBS)
-+
-+  FIND_PATH(PERL_INCLUDE_PATH
-+            NAMES perl.h
-+            HINTS ${PERL_ARCH_LIB_DIR}/CORE
-+  )
-+
-+  if(PERL_INCLUDE_PATH)
-+    SET(PERL_HEADERS_FOUND TRUE)
-+  endif (PERL_INCLUDE_PATH)
-+
-+  MARK_AS_ADVANCED(PERL_INCLUDE_PATH)
- ENDIF(PERL_EXECUTABLE)
- 
- IF(PERL_HEADERS_FOUND)
diff --git a/pkgs/desktops/kde-4.8/kdebindings/perlqt-use-site-arch-install-dir.patch b/pkgs/desktops/kde-4.8/kdebindings/perlqt-use-site-arch-install-dir.patch
deleted file mode 100644
index 04f0c5586771..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/perlqt-use-site-arch-install-dir.patch
+++ /dev/null
@@ -1,454 +0,0 @@
-commit c78779fcaff587818ee37bec3ded5e0617625b95
-Author: Yury G. Kudryashov [diff odt] <urkud.urkud@gmail.com>
-Date:   Wed Mar 21 01:01:27 2012 +0400
-
-    Install to PERL_SITE_ARCH_INSTALL_DIR
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48020a1..16188df 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -36,7 +36,6 @@ macro_log_feature(Qwt5_Qt4_FOUND "Qwt5 for Qt4" "Qwt5 libraries for Qt4" "http:/
- add_definitions(-DDEBUG)
- 
- include (FindPerlMore)
--set(CUSTOM_PERL_SITE_ARCH_DIR ${PERL_SITE_ARCH_DIR} CACHE DIR "Custom installation directory for perl binary extension")
- 
- # the RPATH to be used when installing, but only if it's not a system directory
- GET_FILENAME_COMPONENT(SMOKE_LIB_DIR ${SMOKE_BASE_LIBRARY} PATH)
-diff --git a/INSTALL b/INSTALL
-index d19f97e..97cc9f1 100644
---- a/INSTALL
-+++ b/INSTALL
-@@ -36,7 +36,6 @@ ccmake step.
- The standard options are:
-     CMAKE_BUILD_TYPE = The type of build ('Debug', 'Release', etc)
-     CMAKE_INSTALL_PREFIX = The location for any executables ( e.g. puic4 )
--    CUSTOM_PERL_SITE_ARCH_DIR = The location for the perl modules themselves.
-     QT_QMAKE_EXECUTABLE = The path to your system's qmake.
- 
- cmake looks in your path for a qmake executable.  If it can't find it, it will
-diff --git a/Makefile.PL b/Makefile.PL
-index df9a13c..31dd912 100755
---- a/Makefile.PL
-+++ b/Makefile.PL
-@@ -3,7 +3,7 @@
- use strict;
- use Config;
- 
--my ($prefix, $sitearch, $qmake) = ($Config{prefix}, $Config{sitearch});
-+my ($prefix, $qmake) = ($Config{prefix});
- my @cmakeArgs;
- foreach my $arg (@ARGV) {
-     my $key = $arg;
-@@ -12,7 +12,6 @@ foreach my $arg (@ARGV) {
-     $value =~ s/^[^=]*=//g;
-     if ($key eq 'PREFIX' or $key eq 'INSTALL_BASE') {
-         $prefix = $value;
--        $sitearch = "$prefix";
-     }
-     elsif ($key eq 'QMAKE') {
-         $qmake = $value;
-@@ -34,7 +33,6 @@ if($^O =~ /win/i){
- }
- push @args, "-DCMAKE_INSTALL_PREFIX=$prefix" if $prefix;
- push @args, "-DQT_QMAKE_EXECUTABLE=$qmake" if $qmake;
--push @args, "-DCUSTOM_PERL_SITE_ARCH_DIR=$sitearch" if $sitearch;
- push @args, @cmakeArgs;
- 
- if ( eval "require Alien::SmokeQt" ) {
-diff --git a/phonon/lib/CMakeLists.txt b/phonon/lib/CMakeLists.txt
-index f2857c3..78674ea 100644
---- a/phonon/lib/CMakeLists.txt
-+++ b/phonon/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(phononpm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Phonon.pm ${CMAKE_BINARY_DIR}/blib/lib/Phonon.pm)
--install(FILES Phonon.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES Phonon.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/phonon/src/CMakeLists.txt b/phonon/src/CMakeLists.txt
-index a04db11..9933dfd 100644
---- a/phonon/src/CMakeLists.txt
-+++ b/phonon/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_phonon
- set_target_properties(perl_phonon PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_phonon PROPERTIES PREFIX "")
- 
--install(TARGETS perl_phonon DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_phonon DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qimageblitz/lib/CMakeLists.txt b/qimageblitz/lib/CMakeLists.txt
-index 0809ba8..22fc1c0 100644
---- a/qimageblitz/lib/CMakeLists.txt
-+++ b/qimageblitz/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qimageblitzpm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QImageBlitz.pm ${CMAKE_BINARY_DIR}/blib/lib/QImageBlitz.pm)
--install(FILES QImageBlitz.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QImageBlitz.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qimageblitz/src/CMakeLists.txt b/qimageblitz/src/CMakeLists.txt
-index 02ef494..4f02c1b 100644
---- a/qimageblitz/src/CMakeLists.txt
-+++ b/qimageblitz/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qimageblitz
- set_target_properties(perl_qimageblitz PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qimageblitz PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qimageblitz DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qimageblitz DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qsci/lib/CMakeLists.txt b/qsci/lib/CMakeLists.txt
-index 63b451f..d22869f 100644
---- a/qsci/lib/CMakeLists.txt
-+++ b/qsci/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qscipm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qsci.pm ${CMAKE_BINARY_DIR}/blib/lib/Qsci.pm)
--install(FILES Qsci.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES Qsci.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qsci/src/CMakeLists.txt b/qsci/src/CMakeLists.txt
-index 8c1659b..bdcb5a8 100644
---- a/qsci/src/CMakeLists.txt
-+++ b/qsci/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qsci
- set_target_properties(perl_qsci PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qsci PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qsci DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qsci DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qt3support/lib/CMakeLists.txt b/qt3support/lib/CMakeLists.txt
-index 2f04cfa..dda5afa 100644
---- a/qt3support/lib/CMakeLists.txt
-+++ b/qt3support/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qt3support4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qt3Support4.pm ${CMAKE_BINARY_DIR}/blib/lib/Qt3Support4.pm)
--install(FILES Qt3Support4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES Qt3Support4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qt3support/src/CMakeLists.txt b/qt3support/src/CMakeLists.txt
-index b24532e..bed99aa 100644
---- a/qt3support/src/CMakeLists.txt
-+++ b/qt3support/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qt3support4
- set_target_properties(perl_qt3support4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qt3support4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qt3support4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qt3support4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtcore/lib/CMakeLists.txt b/qtcore/lib/CMakeLists.txt
-index ef07d10..1d78196 100644
---- a/qtcore/lib/CMakeLists.txt
-+++ b/qtcore/lib/CMakeLists.txt
-@@ -1,3 +1,3 @@
- add_subdirectory( QtCore4 )
- add_custom_target(perlqtcore4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtCore4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtCore4.pm)
--install( FILES QtCore4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR} )
-+install( FILES QtCore4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR} )
-diff --git a/qtcore/lib/QtCore4/CMakeLists.txt b/qtcore/lib/QtCore4/CMakeLists.txt
-index 44c7893..06aef20 100644
---- a/qtcore/lib/QtCore4/CMakeLists.txt
-+++ b/qtcore/lib/QtCore4/CMakeLists.txt
-@@ -1,3 +1,3 @@
--install( FILES signals.pm slots.pm isa.pm debug.pm classinfo.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/QtCore4 )
-+install( FILES signals.pm slots.pm isa.pm debug.pm classinfo.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/QtCore4 )
- add_custom_target(perlqt4pmlibmkdir ALL ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/blib/lib/QtCore4)
- add_custom_target(perlqt4pmlibsubdir ALL ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR}/blib/lib/QtCore4)
-diff --git a/qtcore/src/CMakeLists.txt b/qtcore/src/CMakeLists.txt
-index 3910636..b5e645c 100644
---- a/qtcore/src/CMakeLists.txt
-+++ b/qtcore/src/CMakeLists.txt
-@@ -53,10 +53,10 @@ target_link_libraries(perlqtcore4
- set_target_properties(perlqtcore4 PROPERTIES
-     OUTPUT_NAME ${libraryName}
-     PREFIX ""
--    INSTALL_NAME_DIR ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/
-+    INSTALL_NAME_DIR ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/
- )
- 
--install(TARGETS perlqtcore4 EXPORT PerlQtExport DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perlqtcore4 EXPORT PerlQtExport DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
- install(FILES binding.h handlers.h listclass_macros.h marshall_basetypes.h marshall_complex.h
-               marshall.h marshall_macros.h marshall_primitives.h marshall_types.h perlqt.h ppport.h
-               QtCore4.h smokehelp.h smokeperl.h util.h
-diff --git a/qtdbus/lib/CMakeLists.txt b/qtdbus/lib/CMakeLists.txt
-index d03a672..a60d603 100644
---- a/qtdbus/lib/CMakeLists.txt
-+++ b/qtdbus/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtdbus4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtDBus4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtDBus4.pm)
--install(FILES QtDBus4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtDBus4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtdbus/src/CMakeLists.txt b/qtdbus/src/CMakeLists.txt
-index 9aa05a0..5786ea2 100644
---- a/qtdbus/src/CMakeLists.txt
-+++ b/qtdbus/src/CMakeLists.txt
-@@ -31,4 +31,4 @@ target_link_libraries(perl_qtdbus4
- set_target_properties(perl_qtdbus4 PROPERTIES OUTPUT_NAME "QtDBus4")
- set_target_properties(perl_qtdbus4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtdbus4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/QtDBus4/)
-+install(TARGETS perl_qtdbus4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/QtDBus4/)
-diff --git a/qtdeclarative/lib/CMakeLists.txt b/qtdeclarative/lib/CMakeLists.txt
-index e8d2847..b458858 100644
---- a/qtdeclarative/lib/CMakeLists.txt
-+++ b/qtdeclarative/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtdeclarative4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtDeclarative4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtDeclarative4.pm)
--install(FILES QtDeclarative4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtDeclarative4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtdeclarative/src/CMakeLists.txt b/qtdeclarative/src/CMakeLists.txt
-index 1662167..ec2a8fc 100644
---- a/qtdeclarative/src/CMakeLists.txt
-+++ b/qtdeclarative/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtdeclarative4
- set_target_properties(perl_qtdeclarative4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtdeclarative4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtdeclarative4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtdeclarative4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtgui/lib/CMakeLists.txt b/qtgui/lib/CMakeLists.txt
-index 82626c8..e62a4ac 100644
---- a/qtgui/lib/CMakeLists.txt
-+++ b/qtgui/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtgui4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtGui4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtGui4.pm)
--install(FILES QtGui4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtGui4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtgui/src/CMakeLists.txt b/qtgui/src/CMakeLists.txt
-index 4cc8b36..44041b6 100644
---- a/qtgui/src/CMakeLists.txt
-+++ b/qtgui/src/CMakeLists.txt
-@@ -38,4 +38,4 @@ target_link_libraries(perl_qtgui4
- set_target_properties(perl_qtgui4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtgui4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtgui4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtgui4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qthelp/lib/CMakeLists.txt b/qthelp/lib/CMakeLists.txt
-index dcf5ebe..da817d4 100644
---- a/qthelp/lib/CMakeLists.txt
-+++ b/qthelp/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qthelp4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtHelp4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtHelp4.pm)
--install(FILES QtHelp4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtHelp4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qthelp/src/CMakeLists.txt b/qthelp/src/CMakeLists.txt
-index c00359d..689cb29 100644
---- a/qthelp/src/CMakeLists.txt
-+++ b/qthelp/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qthelp4
- set_target_properties(perl_qthelp4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qthelp4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qthelp4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qthelp4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtmultimedia/lib/CMakeLists.txt b/qtmultimedia/lib/CMakeLists.txt
-index e55f697..5384539 100644
---- a/qtmultimedia/lib/CMakeLists.txt
-+++ b/qtmultimedia/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtmultimedia4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtMultimedia4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtMultimedia4.pm)
--install(FILES QtMultimedia4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtMultimedia4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtmultimedia/src/CMakeLists.txt b/qtmultimedia/src/CMakeLists.txt
-index 0728aba..df8e552 100644
---- a/qtmultimedia/src/CMakeLists.txt
-+++ b/qtmultimedia/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtmultimedia4
- set_target_properties(perl_qtmultimedia4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtmultimedia4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtmultimedia4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtmultimedia4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtnetwork/lib/CMakeLists.txt b/qtnetwork/lib/CMakeLists.txt
-index 12cd5dd..d1fb0e6 100644
---- a/qtnetwork/lib/CMakeLists.txt
-+++ b/qtnetwork/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtnetwork4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtNetwork4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtNetwork4.pm)
--install(FILES QtNetwork4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtNetwork4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtnetwork/src/CMakeLists.txt b/qtnetwork/src/CMakeLists.txt
-index caf8327..0994d57 100644
---- a/qtnetwork/src/CMakeLists.txt
-+++ b/qtnetwork/src/CMakeLists.txt
-@@ -39,4 +39,4 @@ target_link_libraries(perl_qtnetwork4
- set_target_properties(perl_qtnetwork4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtnetwork4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtnetwork4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtnetwork4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtopengl/lib/CMakeLists.txt b/qtopengl/lib/CMakeLists.txt
-index f3b5640..d8dc9e4 100644
---- a/qtopengl/lib/CMakeLists.txt
-+++ b/qtopengl/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtopengl4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtOpenGL4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtOpenGL4.pm)
--install(FILES QtOpenGL4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtOpenGL4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtopengl/src/CMakeLists.txt b/qtopengl/src/CMakeLists.txt
-index 20493a9..777af89 100644
---- a/qtopengl/src/CMakeLists.txt
-+++ b/qtopengl/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtopengl4
- set_target_properties(perl_qtopengl4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtopengl4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtopengl4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtopengl4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtscript/lib/CMakeLists.txt b/qtscript/lib/CMakeLists.txt
-index d21dbe5..320ff93 100644
---- a/qtscript/lib/CMakeLists.txt
-+++ b/qtscript/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtscript4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtScript4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtScript4.pm)
--install(FILES QtScript4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtScript4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtscript/src/CMakeLists.txt b/qtscript/src/CMakeLists.txt
-index dd395be..6ff47d8 100644
---- a/qtscript/src/CMakeLists.txt
-+++ b/qtscript/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtscript4
- set_target_properties(perl_qtscript4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtscript4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtscript4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtscript4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtsql/lib/CMakeLists.txt b/qtsql/lib/CMakeLists.txt
-index 59336d3..d9dd4d5 100644
---- a/qtsql/lib/CMakeLists.txt
-+++ b/qtsql/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtsql4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtSql4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtSql4.pm)
--install(FILES QtSql4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtSql4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtsql/src/CMakeLists.txt b/qtsql/src/CMakeLists.txt
-index 3ec2028..59096ba 100644
---- a/qtsql/src/CMakeLists.txt
-+++ b/qtsql/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtsql4
- set_target_properties(perl_qtsql4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtsql4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtsql4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtsql4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtsvg/lib/CMakeLists.txt b/qtsvg/lib/CMakeLists.txt
-index 33f6deb..bf1dc1f 100644
---- a/qtsvg/lib/CMakeLists.txt
-+++ b/qtsvg/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtsvg4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtSvg4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtSvg4.pm)
--install(FILES QtSvg4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtSvg4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtsvg/src/CMakeLists.txt b/qtsvg/src/CMakeLists.txt
-index 11eccd2..449bf0f 100644
---- a/qtsvg/src/CMakeLists.txt
-+++ b/qtsvg/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtsvg4
- set_target_properties(perl_qtsvg4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtsvg4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtsvg4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtsvg4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qttest/lib/CMakeLists.txt b/qttest/lib/CMakeLists.txt
-index 3bfa78c..5a8d8da 100644
---- a/qttest/lib/CMakeLists.txt
-+++ b/qttest/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qttest4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtTest4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtTest4.pm)
--install(FILES QtTest4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtTest4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qttest/src/CMakeLists.txt b/qttest/src/CMakeLists.txt
-index 5492e55..d4662b1 100644
---- a/qttest/src/CMakeLists.txt
-+++ b/qttest/src/CMakeLists.txt
-@@ -38,4 +38,4 @@ target_link_libraries(perl_qttest4
- set_target_properties(perl_qttest4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qttest4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qttest4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qttest4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtuitools/lib/CMakeLists.txt b/qtuitools/lib/CMakeLists.txt
-index 119e40e..3a5f472 100644
---- a/qtuitools/lib/CMakeLists.txt
-+++ b/qtuitools/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtuitools4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtUiTools4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtUiTools4.pm)
--install(FILES QtUiTools4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtUiTools4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtuitools/src/CMakeLists.txt b/qtuitools/src/CMakeLists.txt
-index a8ae4a2..ecc079f 100644
---- a/qtuitools/src/CMakeLists.txt
-+++ b/qtuitools/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtuitools4
- set_target_properties(perl_qtuitools4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtuitools4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtuitools4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtuitools4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtwebkit/lib/CMakeLists.txt b/qtwebkit/lib/CMakeLists.txt
-index a02f7ee..3846227 100644
---- a/qtwebkit/lib/CMakeLists.txt
-+++ b/qtwebkit/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtwebkit4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtWebKit4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtWebKit4.pm)
--install(FILES QtWebKit4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtWebKit4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtwebkit/src/CMakeLists.txt b/qtwebkit/src/CMakeLists.txt
-index a6e00f8..dbebc44 100644
---- a/qtwebkit/src/CMakeLists.txt
-+++ b/qtwebkit/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtwebkit4
- set_target_properties(perl_qtwebkit4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtwebkit4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtwebkit4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtwebkit4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtxml/lib/CMakeLists.txt b/qtxml/lib/CMakeLists.txt
-index 5505bc4..7db743c 100644
---- a/qtxml/lib/CMakeLists.txt
-+++ b/qtxml/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtxml4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtXml4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtXml4.pm)
--install(FILES QtXml4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtXml4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtxml/src/CMakeLists.txt b/qtxml/src/CMakeLists.txt
-index 018508c..a351609 100644
---- a/qtxml/src/CMakeLists.txt
-+++ b/qtxml/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtxml4
- set_target_properties(perl_qtxml4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtxml4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtxml4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtxml4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qtxmlpatterns/lib/CMakeLists.txt b/qtxmlpatterns/lib/CMakeLists.txt
-index a35f3df..3d86103 100644
---- a/qtxmlpatterns/lib/CMakeLists.txt
-+++ b/qtxmlpatterns/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qtxmlpatterns4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtXmlPatterns4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtXmlPatterns4.pm)
--install(FILES QtXmlPatterns4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES QtXmlPatterns4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qtxmlpatterns/src/CMakeLists.txt b/qtxmlpatterns/src/CMakeLists.txt
-index 9970a98..563e922 100644
---- a/qtxmlpatterns/src/CMakeLists.txt
-+++ b/qtxmlpatterns/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qtxmlpatterns4
- set_target_properties(perl_qtxmlpatterns4 PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qtxmlpatterns4 PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qtxmlpatterns4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qtxmlpatterns4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
-diff --git a/qwt/lib/CMakeLists.txt b/qwt/lib/CMakeLists.txt
-index 0013c4d..d67ffbf 100644
---- a/qwt/lib/CMakeLists.txt
-+++ b/qwt/lib/CMakeLists.txt
-@@ -1,2 +1,2 @@
- add_custom_target(qwtpm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qwt.pm ${CMAKE_BINARY_DIR}/blib/lib/Qwt.pm)
--install(FILES Qwt.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
-+install(FILES Qwt.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
-diff --git a/qwt/src/CMakeLists.txt b/qwt/src/CMakeLists.txt
-index 869d818..b644e80 100644
---- a/qwt/src/CMakeLists.txt
-+++ b/qwt/src/CMakeLists.txt
-@@ -37,4 +37,4 @@ target_link_libraries(perl_qwt
- set_target_properties(perl_qwt PROPERTIES OUTPUT_NAME ${libraryName})
- set_target_properties(perl_qwt PROPERTIES PREFIX "")
- 
--install(TARGETS perl_qwt DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
-+install(TARGETS perl_qwt DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/pkgs/desktops/kde-4.8/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.8/kdebindings/perlqt.nix
deleted file mode 100644
index f2b5462f33e2..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/perlqt.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kde, cmake, smokeqt, perl }:
-
-kde {
-  buildInputs = [ smokeqt perl ];
-  nativeBuildInputs = [ cmake ];
-
-  patches =
-    # The order is important
-    [ ./perlqt-include-smokeqt.patch ./perlqt-rewrite-FindPerlMore.patch
-      ./perlqt-use-site-arch-install-dir.patch
-    ];
-
-  meta = {
-    description = "Perl bindings for Qt library";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdebindings/pykde4-hardcode-lib-python.patch b/pkgs/desktops/kde-4.8/kdebindings/pykde4-hardcode-lib-python.patch
deleted file mode 100644
index e7a7cb4c661c..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/pykde4-hardcode-lib-python.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/kpythonpluginfactory/CMakeLists.txt b/kpythonpluginfactory/CMakeLists.txt
-index 41fa0fe..642d867 100644
---- a/kpythonpluginfactory/CMakeLists.txt
-+++ b/kpythonpluginfactory/CMakeLists.txt
-@@ -3,7 +3,12 @@
- set(kpythonpluginfactory_SRCS
-     kpythonpluginfactory.cpp)
- 
--GET_FILENAME_COMPONENT(LIB_PYTHON ${PYTHON_LIBRARY} NAME)
-+option(HARDCODE_LIB_PYTHON_PATH "Whether the path to libpython.so should be hardcoded" OFF)
-+if(HARDCODE_LIB_PYTHON_PATH)
-+	get_filename_component(LIB_PYTHON ${PYTHON_LIBRARY} REALPATH)
-+else(HARDCODE_LIB_PYTHON_PATH)
-+    get_filename_component(LIB_PYTHON ${PYTHON_LIBRARY} NAME)
-+endif(HARDCODE_LIB_PYTHON_PATH)
- ADD_DEFINITIONS(-DLIB_PYTHON=\\"${LIB_PYTHON}\\")
- ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=15000)
- 
diff --git a/pkgs/desktops/kde-4.8/kdebindings/pykde4-new-sip.patch b/pkgs/desktops/kde-4.8/kdebindings/pykde4-new-sip.patch
deleted file mode 100644
index 96b3b887a8d1..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/pykde4-new-sip.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-commit 017822bd0dfc83fe9a7a483ecc33f4aab839a3c6
-Author: Luca Beltrame <lbeltrame@kde.org>
-Date:   Mon Oct 1 20:47:56 2012 +0200
-
-    Remove duplicated QVector<int> definition, since it's in PyQt now.
-    Simon, if you have time, please review if everything is OK.
-    
-    CCMAIL: simon@simonzone.com
-
-diff --git a/sip/kdecore/typedefs.sip b/sip/kdecore/typedefs.sip
-index 5a0a080..73dad01 100644
---- a/sip/kdecore/typedefs.sip
-+++ b/sip/kdecore/typedefs.sip
-@@ -951,77 +951,3 @@ template <TYPE1>
- %End
- };
- 
--%MappedType QVector<int>
--{
--%TypeHeaderCode
--#include <qvector.h>
--%End
--
--%ConvertFromTypeCode
--    // Create the list.
--    PyObject *l;
--
--    if ((l = PyList_New(sipCpp->size())) == NULL)
--        return NULL;
--
--    // Set the list elements.
--    for (int i = 0; i < sipCpp->size(); ++i)
--    {
--        int t = (sipCpp->at(i));
--
--#if PY_MAJOR_VERSION >= 3        
--        PyObject *tobj = PyLong_FromLong(t);
--#else
--        PyObject *tobj = PyInt_FromLong(t);
--#endif
--
--        PyList_SET_ITEM(l, i, tobj);
--    }
--
--    return l;
--%End
--
--%ConvertToTypeCode
--    // Check the type if that is all that is required.
--    if (sipIsErr == NULL)
--    {
--        if (!PyList_Check(sipPy))
--            return 0;
--
--        for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) {
--            PyObject *tobj = PyList_GET_ITEM(sipPy, i);
--#if PY_MAJOR_VERSION >= 3
--            if (!PyNumber_Check(tobj))
--#else
--            if (!PyInt_Check(tobj))
--#endif
--                return 0;
--        }
--        return 1;
--    }
--
--    QVector<int> *qv = new QVector<int>;
-- 
--    for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
--    {
--        PyObject *tobj = PyList_GET_ITEM(sipPy, i);
-- #if PY_MAJOR_VERSION >= 3
--        int t = PyLong_AsLong (tobj);
--#else
--        int t = PyInt_AS_LONG (tobj);
--#endif
--
--        if (*sipIsErr)
--        {
--            delete qv;
--            return 0;
--        }
--
--        qv->append(t);
--    }
-- 
--    *sipCppPtr = qv;
-- 
--    return sipGetState(sipTransferObj);
--%End
--};
diff --git a/pkgs/desktops/kde-4.8/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.8/kdebindings/pykde4.nix
deleted file mode 100644
index eb4d49616c4e..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/pykde4.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
-  boost, lndir }:
-
-let pydir = "lib/python${python.majorVersion}"; in
-
-kde {
-  buildInputs = [ python kdepimlibs shared_desktop_ontologies boost ];
-
-  propagatedBuildInputs = [ pyqt4 sip ];
-
-  patches = [ ./pykde4-hardcode-lib-python.patch ./pykde4-new-sip.patch ];
-
-  cmakeFlags = "-DHARDCODE_LIB_PYTHON_PATH=ON ";
-
-  preConfigure =
-    ''
-      # Symlink PyQt into PyKDE.  This is necessary because PyQt looks
-      # in its PyQt4/uic/widget-plugins directory for plugins, and KDE
-      # needs to install a plugin.
-      mkdir -pv $out/${pydir}
-      ${lndir}/bin/lndir ${pyqt4}/${pydir} $out/${pydir}
-      cmakeFlagsArray=( "-DSIP_DEFAULT_SIP_DIR=$prefix/share/sip" )
-    '';
-
-  meta = {
-    description = "Python bindings for KDE";
-    kde.name = "pykde4";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdebindings/qtruby-include-smokeqt.patch b/pkgs/desktops/kde-4.8/kdebindings/qtruby-include-smokeqt.patch
deleted file mode 100644
index 7d20a3c1c0bc..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/qtruby-include-smokeqt.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 33078b4..1a6ad2e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,7 +5,7 @@ set(COMPILE_RUBY FALSE CACHE INTERNAL "")
- find_package(Ruby REQUIRED)
- find_package(Qt4 REQUIRED)
- find_package(Smoke COMPONENTS QtCore QtGui QtXml QtOpenGl QtSql QtNetwork QtDbus QtSvg Phonon QSci QtDeclarative QtScript QtWebkit QtUiTools QtTest Qwt)
--include_directories(${SMOKE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${QT_INCLUDES})
-+include_directories(${SMOKE_INCLUDE_DIR} ${SMOKE_QTCORE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${QT_INCLUDES})
- 
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SMOKE_CMAKE_MODULE_DIR})
- include(MacroOptionalFindPackage)
diff --git a/pkgs/desktops/kde-4.8/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.8/kdebindings/qtruby-install-prefix.patch
deleted file mode 100644
index bd95a0d8bd3d..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/qtruby-install-prefix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 33078b4..30aec0e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY)
-     return()
- endif (NOT COMPILE_RUBY)
- 
--SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" )
--SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" )
-+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR})
-+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR})
- 
- # compute an overall version number which can be compared at once
- MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}")
diff --git a/pkgs/desktops/kde-4.8/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.8/kdebindings/qtruby.nix
deleted file mode 100644
index 723732f6104a..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/qtruby.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kde, cmake, smokeqt, ruby }:
-
-kde {
-  buildInputs = [ smokeqt ruby ];
-  nativeBuildInputs = [ cmake ];
-
-  # The second patch is not ready for upstream submmission. I should add an
-  # option() instead.
-  patches = [ ./qtruby-include-smokeqt.patch ./qtruby-install-prefix.patch ];
-
-  cmakeFlags="-DRUBY_ROOT_DIR=${ruby}";
-
-  meta = {
-    description = "Ruby bindings for Qt library";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdebindings/smokegen-nix.patch b/pkgs/desktops/kde-4.8/kdebindings/smokegen-nix.patch
deleted file mode 100644
index 03df484b63e4..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/smokegen-nix.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 79945c4..a244d0f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -32,10 +32,6 @@ set(generator_SRC
-     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)
--
- configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
- 
- add_executable(smokegen ${generator_SRC})
-diff --git a/cmake/SmokeConfig.cmake.in b/cmake/SmokeConfig.cmake.in
-index 947315c..de8d66c 100644
---- a/cmake/SmokeConfig.cmake.in
-+++ b/cmake/SmokeConfig.cmake.in
-@@ -44,21 +44,19 @@ macro (find_smoke_component name)
-         set (SMOKE_${uppercase}_FOUND FALSE CACHE INTERNAL "")
- 
-         find_path(SMOKE_${uppercase}_INCLUDE_DIR 
--            ${lowercase}_smoke.h 
--            PATH ${SMOKE_INCLUDE_DIR}
--            NO_DEFAULT_PATH
-+            ${lowercase}_smoke.h
-+            HINTS ${SMOKE_INCLUDE_DIR}
-+            PATH_SUFFIXES smoke
-             )
-         if(WIN32)
- 		    # DLLs are in the bin directory.
-             find_library(SMOKE_${uppercase}_LIBRARY
-                 smoke${lowercase}
--                PATHS "@CMAKE_INSTALL_PREFIX@/bin"
--                NO_DEFAULT_PATH)
-+                PATHS "@CMAKE_INSTALL_PREFIX@/bin")
-         else(WIN32)
-             find_library(SMOKE_${uppercase}_LIBRARY
-                 smoke${lowercase}
--                PATHS "@SMOKE_LIBRARY_PREFIX@"
--                NO_DEFAULT_PATH)
-+                PATHS "@SMOKE_LIBRARY_PREFIX@")
-         endif(WIN32)
- 
-         if (NOT SMOKE_${uppercase}_INCLUDE_DIR OR NOT SMOKE_${uppercase}_LIBRARY)
diff --git a/pkgs/desktops/kde-4.8/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.8/kdebindings/smokegen.nix
deleted file mode 100644
index 8b5da2a641dd..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/smokegen.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, qt4, cmake }:
-
-kde {
-  buildInputs = [ qt4 ];
-  nativeBuildInputs = [ cmake ];
-
-  patches = [ ./smokegen-nix.patch ];
-
-  meta = {
-    description = "C++ parser used to generate language bindings for Qt/KDE";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.8/kdebindings/smokekde.nix
deleted file mode 100644
index 0e823a95e3b2..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/smokekde.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, shared_desktop_ontologies, attica }:
-
-kde {
-  # attica, akonadi and kdepimlibs are disabled due to smokegen crash
-  buildInputs = [ smokeqt kdelibs shared_desktop_ontologies ];
-  nativeBuildInputs = [ cmake ];
-
-  cmakeFlags = "-DQTDEFINES_FILE=${smokeqt}/share/smokegen/qtdefines";
-  meta = {
-    description = "SMOKE bindings for kdelibs";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.8/kdebindings/smokeqt.nix
deleted file mode 100644
index 29e25093d11b..000000000000
--- a/pkgs/desktops/kde-4.8/kdebindings/smokeqt.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, qt4, cmake, phonon, qimageblitz, smokegen }:
-
-kde {
-  propagatedBuildInputs = [ qt4 phonon qimageblitz ];
-  nativeBuildInputs = [ cmake ];
-  propagatedNativeBuildInputs = [ smokegen ];
-
-  meta = {
-    description = "C++ parser used to generate language bindings for Qt/KDE";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/analitza.nix b/pkgs/desktops/kde-4.8/kdeedu/analitza.nix
deleted file mode 100644
index 74c3a1ebb200..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/analitza.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, readline }:
-kde {
-  buildInputs = [ kdelibs readline ];
-
-  meta = {
-    description = "Library part of KAlgebra";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/blinken.nix b/pkgs/desktops/kde-4.8/kdeedu/blinken.nix
deleted file mode 100644
index cdf9728833c2..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/blinken.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Memory Enhancement Game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/cantor.nix b/pkgs/desktops/kde-4.8/kdeedu/cantor.nix
deleted file mode 100644
index 8b8bbc210c75..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/cantor.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libspectre }:
-kde {
-  buildInputs = [ kdelibs libspectre ];
-
-  meta = {
-    description = "KDE Frontend to Mathematical Software";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.8/kdeedu/kalgebra.nix
deleted file mode 100644
index 3675c3a225f4..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kalgebra.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdeedu, analitza }:
-kde {
-  buildInputs = [ kdelibs libkdeedu analitza ];
-
-  meta = {
-    description = "2D and 3D Graph Calculator";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.8/kdeedu/kalzium.nix
deleted file mode 100644
index 69ab5dfc4736..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kalzium.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro }:
-kde {
-  buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ];
-
-  meta = {
-    description = "Periodic Table of Elements";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.8/kdeedu/kanagram.nix
deleted file mode 100644
index 8759c96d78c4..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kanagram.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdeedu }:
-kde {
-  buildInputs = [ kdelibs libkdeedu ];
-
-  meta = {
-    description = "Letter Order Game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.8/kdeedu/kbruch.nix
deleted file mode 100644
index dc50f1e85a37..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kbruch.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Practice Fractions";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.8/kdeedu/kgeography.nix
deleted file mode 100644
index bd8d27c8d6e2..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kgeography.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Geography Trainer";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/khangman.nix b/pkgs/desktops/kde-4.8/kdeedu/khangman.nix
deleted file mode 100644
index 997b50e906a2..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/khangman.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdeedu }:
-kde {
-  buildInputs = [ kdelibs libkdeedu ];
-
-  meta = {
-    description = "KDE hangman game";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kig.nix b/pkgs/desktops/kde-4.8/kdeedu/kig.nix
deleted file mode 100644
index bd5ef67529cc..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kig.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, boost, python}:
-kde {
-  buildInputs = [ kdelibs boost python ];
-
-  cmakeFlags = ''
-    -DBOOST_PYTHON_INCLUDES:PATH=${boost}/include;${python}/include/${python.libPrefix}
-    -DBOOST_PYTHON_LIBS=boost_python;${python.libPrefix} -DKIG_ENABLE_PYTHON_SCRIPTING=1
-    '';
-  meta = {
-    description = "KDE Interactive Geometry";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kiten.nix b/pkgs/desktops/kde-4.8/kdeedu/kiten.nix
deleted file mode 100644
index 939b7a9f77a2..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kiten.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Japanese Reference/Study Tool";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/klettres.nix b/pkgs/desktops/kde-4.8/kdeedu/klettres.nix
deleted file mode 100644
index 7a0fa83078e3..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/klettres.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A KDE alphabet tutorial";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.8/kdeedu/kmplot.nix
deleted file mode 100644
index 18458cf6f0bf..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kmplot.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A KDE mathematical function plotter";
-    kde = {
-      name = "kmplot";
-    };
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kstars.nix b/pkgs/desktops/kde-4.8/kdeedu/kstars.nix
deleted file mode 100644
index 5b5a2d621de7..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kstars.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, eigen, xplanet, indilib }:
-
-kde {
-  buildInputs = [ kdelibs eigen xplanet indilib ];
-
-  meta = {
-    description = "A KDE graphical desktop planetarium";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.8/kdeedu/ktouch.nix
deleted file mode 100644
index 768be6f4367c..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/ktouch.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Touch Typing Tutor";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.8/kdeedu/kturtle.nix
deleted file mode 100644
index 1e1922b1410d..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kturtle.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Educational Programming Environment";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.8/kdeedu/kwordquiz.nix
deleted file mode 100644
index 1b33ba2e469f..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/kwordquiz.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libkdeedu }:
-
-kde {
-  buildInputs = [ kdelibs libkdeedu ];
-
-  meta = {
-    description = "Flash Card Trainer";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.8/kdeedu/libkdeedu.nix
deleted file mode 100644
index def6c85fefe2..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/libkdeedu.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Libraries used by KDE Education applications";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/marble.nix b/pkgs/desktops/kde-4.8/kdeedu/marble.nix
deleted file mode 100644
index 8bd86c91094e..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/marble.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, gpsd }:
-
-kde {
-  buildInputs = [ kdelibs gpsd ];
-
-  meta = {
-    description = "Marble Virtual Globe";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/parley.nix b/pkgs/desktops/kde-4.8/kdeedu/parley.nix
deleted file mode 100644
index eccd40a598f0..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/parley.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libkdeedu, libxml2, attica }:
-
-kde {
-  buildInputs = [ kdelibs libkdeedu libxml2 attica ];
-
-  meta = {
-    description = "Vocabulary Trainer";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/rocs.nix b/pkgs/desktops/kde-4.8/kdeedu/rocs.nix
deleted file mode 100644
index 91976b840011..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/rocs.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ kde, kdelibs, boost }:
-
-kde {
-  buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) ];
-
-  NIX_CFLAGS_COMPILE = "-fexceptions";
-
-  meta = {
-    description = "A KDE graph theory viewer";
-    kde = {
-      name = "rocs";
-    };
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeedu/step.nix b/pkgs/desktops/kde-4.8/kdeedu/step.nix
deleted file mode 100644
index fac9974baf18..000000000000
--- a/pkgs/desktops/kde-4.8/kdeedu/step.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, gsl, libqalculate, eigen }:
-
-kde {
-  buildInputs = [ kdelibs gsl libqalculate eigen ];
-
-  meta = {
-    description = "A KDE interactive physical simulator";
-    kde = {
-      name = "step";
-    };
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegames.nix b/pkgs/desktops/kde-4.8/kdegames.nix
deleted file mode 100644
index dfca49be12fd..000000000000
--- a/pkgs/desktops/kde-4.8/kdegames.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ kde, kdelibs, qca2, twisted, pythonPackages, sip, makeWrapper, pykde4,
-  openal, libsndfile, qhull, sqlite, pkgconfig }:
-
-kde rec {
-  buildInputs = [ kdelibs qca2 pythonPackages.python pythonPackages.wrapPython
-    openal libsndfile qhull sqlite ] ++ pythonPath;
-
-  pythonPath = [ pythonPackages.twisted pykde4 ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  # TODO: ggz
-
-  postInstall = "wrapPythonPrograms";
-
-  meta = {
-    description = "KDE Games";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.8/kdegraphics/gwenview.nix
deleted file mode 100644
index c03c82469e66..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/gwenview.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, exiv2, shared_desktop_ontologies, kde_baseapps, libkipi
-, libjpeg, pkgconfig }:
-
-kde {
-
-  buildInputs =
-    [ kdelibs exiv2 shared_desktop_ontologies kde_baseapps libkipi libjpeg ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Gwenview, the KDE image viewer";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.8/kdegraphics/kamera.nix
deleted file mode 100644
index 70904b17c232..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/kamera.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libgphoto2 }:
-
-kde {
-  buildInputs = [ kdelibs libgphoto2 ];
-
-  meta = {
-    description = "KDE camera interface library";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.8/kdegraphics/kcolorchooser.nix
deleted file mode 100644
index 58528cb186bb..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/kcolorchooser.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A small utility to select a color";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-mobipocket.nix
deleted file mode 100644
index 2c2ba3796a2c..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-mobipocket.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, okular }:
-
-kde {
-  buildInputs = [ kdelibs okular ];
-
-  meta = {
-    description = "A collection of plugins to handle mobipocket files";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-strigi-analyzer.nix
deleted file mode 100644
index 6001a5f363db..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-strigi-analyzer.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Strigi analyzers for various graphics file formats";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-thumbnailers.nix
deleted file mode 100644
index 55bf8309b2a9..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/kdegraphics-thumbnailers.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libkexiv2, libkdcraw }:
-
-kde {
-  buildInputs = [ kdelibs libkexiv2 libkdcraw ];
-
-  meta = {
-    description = "Thumbnailers for various graphics file formats";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.8/kdegraphics/kgamma.nix
deleted file mode 100644
index 28d9252187e0..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/kgamma.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libXxf86vm }:
-
-kde {
-  buildInputs = [ kdelibs libXxf86vm ];
-
-  meta = {
-    description = "KDE monitor calibration tool";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.8/kdegraphics/kolourpaint.nix
deleted file mode 100644
index 5276ec09f462..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/kolourpaint.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, qimageblitz }:
-
-kde {
-  buildInputs = [ kdelibs qimageblitz ];
-
-  meta = {
-    description = "KDE paint program";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.8/kdegraphics/kruler.nix
deleted file mode 100644
index c5c2c6e05d7c..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/kruler.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE screen ruler";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.8/kdegraphics/ksaneplugin.nix
deleted file mode 100644
index 1381ed7dd266..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/ksaneplugin.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libksane }:
-
-kde {
-  buildInputs = [ kdelibs libksane ];
-
-  meta = {
-    description = "A KScan plugin that implements the scanning through libksane";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.8/kdegraphics/ksnapshot.nix
deleted file mode 100644
index f01a609e20de..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/ksnapshot.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libkipi }:
-
-kde {
-  buildInputs = [ kdelibs libkipi ];
-
-  meta = {
-    description = "KDE screenshot utility";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.8/kdegraphics/libkdcraw.nix
deleted file mode 100644
index 9810a98551ed..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/libkdcraw.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libjpeg, lcms1 }:
-
-kde {
-  buildInputs = [ kdelibs libjpeg lcms1 ];
-
-  meta = {
-    description = "Library for decoding RAW images";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.8/kdegraphics/libkexiv2.nix
deleted file mode 100644
index 096b0a6e957b..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/libkexiv2.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, exiv2 }:
-
-kde {
-  buildInputs = [ kdelibs exiv2 ];
-
-  meta = {
-    description = "Exiv2 support library";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.8/kdegraphics/libkipi.nix
deleted file mode 100644
index 6b16265e7a3e..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/libkipi.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Interface library to kipi-plugins";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.8/kdegraphics/libksane.nix
deleted file mode 100644
index b539eab38992..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/libksane.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, saneBackends }:
-
-kde {
-  buildInputs = [ kdelibs saneBackends ];
-
-  meta = {
-    description = "An image scanning library that provides a QWidget that contains all the logic needed to interface a sacanner";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/okular.nix b/pkgs/desktops/kde-4.8/kdegraphics/okular.nix
deleted file mode 100644
index 0c5c7b49b17d..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/okular.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
-, qimageblitz, pkgconfig }:
-
-kde {
-  buildInputs =
-    [ chmlib djvulibre ebook_tools kdelibs libspectre popplerQt4 qca2 qimageblitz pkgconfig ];
-
-  meta = {
-    description = "Okular, the KDE document viewer";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.8/kdegraphics/svgpart.nix
deleted file mode 100644
index a344cc4b4b46..000000000000
--- a/pkgs/desktops/kde-4.8/kdegraphics/svgpart.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "SVG KPart";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdelibs.nix b/pkgs/desktops/kde-4.8/kdelibs.nix
deleted file mode 100644
index 0e7c9cfdbea0..000000000000
--- a/pkgs/desktops/kde-4.8/kdelibs.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ kde, gcc, cmake, perl
-, qt4, bzip2, pcre, fam, libxml2, libxslt, shared_mime_info, giflib, jasper
-, openexr, avahi, kerberos, acl, attr, shared_desktop_ontologies, libXScrnSaver
-, automoc4, strigi, soprano, qca2, attica, enchant, libdbusmenu_qt
-, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1
-, getopt, udev, herqq, phonon, libjpeg, xz
-}:
-
-kde {
-  buildInputs =
-    [ acl attr attica avahi bzip2 enchant fam getopt giflib herqq jasper
-      libdbusmenu_qt libXScrnSaver libxslt pcre polkit_qt_1 qca2
-      shared_desktop_ontologies xz udev libxml2 libjpeg kerberos
-    ];
-
-  propagatedBuildInputs = [ qt4 soprano strigi phonon ];
-
-  propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ];
-
-  # TODO: make sonnet plugins (dictionaries) really work.
-  # There are a few hardcoded paths.
-  # Let kdelibs find openexr
-  # Split plugins from libs?
-
-  patches = [ ./files/polkit-install.patch ];
-
-  # cmake fails to find acl.h because of C++-style comment
-  # TODO: OpenEXR
-  cmakeFlags = [
-    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
-    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
-  ];
-
-  meta = {
-    description = "KDE libraries";
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdemultimedia.nix b/pkgs/desktops/kde-4.8/kdemultimedia.nix
deleted file mode 100644
index 09efeb336dce..000000000000
--- a/pkgs/desktops/kde-4.8/kdemultimedia.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, alsaLib, libvorbis, taglib, flac, cdparanoia, lame, kdelibs, ffmpeg,
-  libmusicbrainz3, libtunepimp, pulseaudio }:
-
-kde {
-
-  buildInputs =
-    [ kdelibs cdparanoia taglib libvorbis libmusicbrainz3 libtunepimp ffmpeg
-      flac lame pulseaudio
-    ];
-
-  meta = {
-    description = "KDE multimedia programs such as a movie player and volume utility";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/FindmsiLBC.cmake b/pkgs/desktops/kde-4.8/kdenetwork/FindmsiLBC.cmake
deleted file mode 100644
index c40b0bed3105..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/FindmsiLBC.cmake
+++ /dev/null
@@ -1,19 +0,0 @@
-# cmake macro to test msiLBC
-
-# Copyright (c) 2009-2010 Pali Rohár <pali.rohar@gmail.com>
-#
-# MSILBC_FOUND
-# MSILBC_LIBRARY
-
-include ( FindPackageHandleStandardArgs )
-
-if ( MSILBC_LIBRARY )
-	set ( MSILBC_FOUND true )
-	set ( msiLBC_FIND_QUIETLY true )
-else ( MSILBC_LIBRARY )
-	find_library ( MSILBC_LIBRARY NAMES msilbc
-		PATH_SUFFIXES mediastreamer/plugins)
-endif ( MSILBC_LIBRARY )
-
-find_package_handle_standard_args ( msiLBC DEFAULT_MSG MSILBC_LIBRARY )
-mark_as_advanced ( MSILBC_LIBRARY )
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/filesharing.nix b/pkgs/desktops/kde-4.8/kdenetwork/filesharing.nix
deleted file mode 100644
index 2f32f4d6b2cd..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/filesharing.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/kdenetwork.patch b/pkgs/desktops/kde-4.8/kdenetwork/kdenetwork.patch
deleted file mode 100644
index ebadbfad9bac..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/kdenetwork.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -r -u kdenetwork-4.7.1.orig/CMakeLists.txt kdenetwork-4.7.1/CMakeLists.txt
---- kdenetwork-4.7.1.orig/CMakeLists.txt	2011-03-29 15:25:42.174521812 +0400
-+++ kdenetwork-4.7.1/CMakeLists.txt	2011-03-29 15:27:43.268140322 +0400
-@@ -28,7 +28,8 @@
-    set(CMAKE_REQUIRED_INCLUDES  ${KDEWIN_INCLUDES} )
- endif (WIN32)
- 
--find_package(KdepimLibs REQUIRED)
-+macro_optional_find_package(KdepimLibs)
-+macro_log_feature(KDEPIMLIBS_FOUND "KDEPimLibs" "KDE pim-related libraries" "http://pim.kde.org.org/" FALSE "" "Required for Kopete")
- # find_package(X11VidMode) not used at this time
- 
- # NX support is not ready for KDE 4.2; disabled (uwolfer)
-@@ -79,7 +80,9 @@
- macro_optional_add_subdirectory(kfile-plugins)
- macro_optional_add_subdirectory(kget)
- 
--macro_optional_add_subdirectory(kopete)
-+if(KDEPIMLIBS_FOUND)
-+  macro_optional_add_subdirectory(kopete)
-+endif(KDEPIMLIBS_FOUND)
- 
- if(Q_WS_X11)
-   macro_optional_add_subdirectory(krdc)
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.8/kdenetwork/kdnssd.nix
deleted file mode 100644
index 2f32f4d6b2cd..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/kdnssd.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/kfile-plugins.nix b/pkgs/desktops/kde-4.8/kdenetwork/kfile-plugins.nix
deleted file mode 100644
index f90fd3560796..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/kfile-plugins.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, boost }:
-
-kde {
-  name = "strigi-analyzer-torrent";
-
-  buildInputs = [ kdelibs boost ];
-
-  preConfigure = "mv -v strigi-analyzer kfile-plugins";
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/kget.nix b/pkgs/desktops/kde-4.8/kdenetwork/kget.nix
deleted file mode 100644
index 2381a2459e60..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/kget.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libktorrent, kde_workspace, kdepimlibs, sqlite
-, shared_desktop_ontologies, kde_baseapps, gpgme, boost, libmms, qca2 }:
-
-kde {
-  buildInputs =
-    [ kdelibs libktorrent kde_workspace shared_desktop_ontologies kdepimlibs
-      kde_baseapps gpgme boost libmms qca2 sqlite
-    ];
-
-  KDEDIRS = libktorrent;
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.8/kdenetwork/kopete.nix
deleted file mode 100644
index d1d9f0c8e03e..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/kopete.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ kde, kdelibs, speex, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent,
-  jasper, libidn, mediastreamer, msilbc, pkgconfig, libxml2, libxslt, giflib,
-  libgadu, boost, qca2, gpgme, sqlite }:
-
-kde {
-  buildInputs = [ kdelibs speex libmsn libotr kdepimlibs qimageblitz libktorrent
-    jasper libidn mediastreamer msilbc libxml2 libxslt giflib libgadu boost qca2
-    gpgme sqlite ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  KDEDIRS = libktorrent;
-
-  patchPhase =
-    ''
-      cp -v ${./FindmsiLBC.cmake} kopete/cmake/modules/FindmsiLBC.cmake
-    '';
-
-  cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
-
-  meta = {
-    description = "A KDE multi-protocol IM client";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.8/kdenetwork/kppp.nix
deleted file mode 100644
index 2f32f4d6b2cd..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/kppp.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.8/kdenetwork/krdc.nix
deleted file mode 100644
index 40ef91d54339..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/krdc.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libvncserver, libjpeg }:
-
-kde {
-  buildInputs = [ kdelibs libvncserver libjpeg ];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.8/kdenetwork/krfb.nix
deleted file mode 100644
index 80013f430d3c..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/krfb.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libvncserver, libXdamage, libXtst }:
-
-kde {
-  buildInputs = [ kdelibs libvncserver libXdamage libXtst];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.8/kdepim-runtime.nix b/pkgs/desktops/kde-4.8/kdepim-runtime.nix
deleted file mode 100644
index ef637f3f075b..000000000000
--- a/pkgs/desktops/kde-4.8/kdepim-runtime.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, fetchurl, cmake, kdelibs, libxml2, libxslt, boost, kdepimlibs, akonadi
-, shared_desktop_ontologies }:
-
-kde {
-  buildInputs = [ kdepimlibs akonadi boost shared_desktop_ontologies libxml2
-    libxslt ];
-
-  meta = {
-    description = "KDE PIM runtime";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdepim.nix b/pkgs/desktops/kde-4.8/kdepim.nix
deleted file mode 100644
index 6d99a801d1c1..000000000000
--- a/pkgs/desktops/kde-4.8/kdepim.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ kde, boost, gpgme, libassuan, libxml2, libxslt, kdepimlibs, kdepim_runtime
-, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison }:
-
-kde {
-
-  buildInputs =
-    [ kdepimlibs boost akonadi shared_desktop_ontologies libxml2
-      libxslt cyrus_sasl gpgme libassuan grantlee prison
-    ];
-
-  passthru.propagatedUserEnvPackages = [ akonadi kdepimlibs kdepim_runtime ];
-
-  meta = {
-    description = "KDE PIM tools";
-    longDescription = ''
-      Contains various personal information management tools for KDE, such as an organizer.
-    '';
-    license = "GPL";
-    homepage = http://pim.kde.org;
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdepimlibs.nix b/pkgs/desktops/kde-4.8/kdepimlibs.nix
deleted file mode 100644
index 736508eaf0f3..000000000000
--- a/pkgs/desktops/kde-4.8/kdepimlibs.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kde, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info
-, kdelibs, akonadi, shared_desktop_ontologies, libxml2, libxslt, prison }:
-
-kde {
-  buildInputs =
-    [ boost gpgme shared_desktop_ontologies libical libxml2 libxslt
-      openldap cyrus_sasl akonadi prison
-    ];
-
-  propagatedBuildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE PIM libraries";
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeplasma-addons.nix b/pkgs/desktops/kde-4.8/kdeplasma-addons.nix
deleted file mode 100644
index a69002bff28b..000000000000
--- a/pkgs/desktops/kde-4.8/kdeplasma-addons.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig
-, boost, eigen, kde_workspace, attica, python, qca2, qimageblitz
-, kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt }:
-# TODO: qwt, scim
-
-kde {
-
-  KDEDIRS=marble;
-
-  buildInputs = [ kdelibs boost eigen kde_workspace
-    attica python qca2 qimageblitz kdepimlibs libdbusmenu_qt
-    libqalculate libXtst shared_desktop_ontologies marble libkexiv2];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "KDE Plasma Addons";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.8/kdesdk/cervisia.nix
deleted file mode 100644
index 1dabe46cd429..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/cervisia.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A KDE CVS frontend";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-bazaar.nix b/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-bazaar.nix
deleted file mode 100644
index 8032b89ff54c..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-bazaar.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-  # Needs kdebase for libkonq
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  meta = {
-    description = "Svn plugin for dolphin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-git.nix b/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-git.nix
deleted file mode 100644
index df4a0856c6b0..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-git.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-  # Needs kdebase for libkonq
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  meta = {
-    description = "Git plugin for dolphin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-hg.nix b/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-hg.nix
deleted file mode 100644
index 8032b89ff54c..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-hg.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-  # Needs kdebase for libkonq
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  meta = {
-    description = "Svn plugin for dolphin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-svn.nix b/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-svn.nix
deleted file mode 100644
index 8032b89ff54c..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/dolphin-plugins-svn.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-  # Needs kdebase for libkonq
-  buildInputs = [ kdelibs kde_baseapps ];
-
-  meta = {
-    description = "Svn plugin for dolphin";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/find-svn.patch b/pkgs/desktops/kde-4.8/kdesdk/find-svn.patch
deleted file mode 100644
index f6f4df942dd9..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/find-svn.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/cmake/modules/FindSVN.cmake b/cmake/modules/FindSVN.cmake
-index 59bcb96..2eac05d 100644
---- a/cmake/modules/FindSVN.cmake
-+++ b/cmake/modules/FindSVN.cmake
-@@ -17,6 +17,9 @@ FIND_PROGRAM(SVNCONFIG_EXECUTABLE NAMES svn-config PATHS
- FIND_PROGRAM(APRCONFIG_EXECUTABLE NAMES apr-1-config apr-config PATHS
-    /usr/local/apr/bin
- )
-+find_program(APUCONFIG_EXECUTABLE NAMES apu-1-config apu-config PATHS
-+   /usr/local/apr/bin
-+)
- 
- if(SVNCONFIG_EXECUTABLE)
- 
-@@ -56,15 +59,8 @@ else(SVNCONFIG_EXECUTABLE)
-       set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
-    else(APRCONFIG_EXECUTABLE)
-       FIND_PATH(_INCLUDES apr_pools.h
--         ${SVN_INCLUDES}/apr-0/
--         ${SVN_INCLUDES}/apr-1/
--         ${SVN_INCLUDES}/apr-1.0/
--         /usr/include/apr-0/
--         /usr/include/apr-1/
--         /usr/include/apr-1.0/
--         /usr/local/include/apr-0/
--         /usr/local/include/apr-1/
--         /usr/local/include/apr-1.0/
-+         HINTS ${SVN_INCLUDES}
-+         SUFFIXES apr-0 apr-1 apr-1.0
-       )
-       if(_INCLUDES)
-          set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
-@@ -72,6 +69,24 @@ else(SVNCONFIG_EXECUTABLE)
-          set(SVN_FOUND FALSE) # no apr == can't compile!
-       endif(_INCLUDES)
-    endif(APRCONFIG_EXECUTABLE)
-+
-+   # Use apu-config if it exists
-+   if(APUCONFIG_EXECUTABLE)
-+      EXEC_PROGRAM(${APUCONFIG_EXECUTABLE} ARGS --includes RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _INCLUDES)
-+      string(REPLACE "-I" "" _INCLUDES ${_INCLUDES})
-+      string(REPLACE " " ";" _INCLUDES ${_INCLUDES})
-+      set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
-+   else(APUCONFIG_EXECUTABLE)
-+      FIND_PATH(_INCLUDES apu.h
-+         HINTS ${SVN_INCLUDES}
-+         SUFFIXES apr-0 apr-1 apr-1.0
-+      )
-+      if(_INCLUDES)
-+         set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
-+      else(_INCLUDES)
-+         set(SVN_FOUND FALSE) # no apr == can't compile!
-+      endif(_INCLUDES)
-+   endif(APUCONFIG_EXECUTABLE)
-    FIND_LIBRARY(SVN_LIBRARIES NAMES svn_client-1)
-    if(SVN_LIBRARIES)
-       FIND_LIBRARY(_LIBRARIES NAMES svn_subr-1)
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.8/kdesdk/kapptemplate.nix
deleted file mode 100644
index 391536248dd3..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kapptemplate.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A KDE 4 project template generator";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.8/kdesdk/kcachegrind.nix
deleted file mode 100644
index 65d410cca48d..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kcachegrind.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE Frontend for Callgrind/Cachegrind";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kdeaccounts-plugin.nix b/pkgs/desktops/kde-4.8/kdesdk/kdeaccounts-plugin.nix
deleted file mode 100644
index 7e170ca2a2c2..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kdeaccounts-plugin.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, kdepimlibs }:
-
-kde {
-  buildInputs = [ kdelibs kdepimlibs ];
-
-  meta = {
-    description = "KDE accounts akonadi agent";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.8/kdesdk/kioslave-perldoc.nix
deleted file mode 100644
index 6a10bdf7c4bc..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kioslave-perldoc.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, perl }:
-
-kde {
-  buildInputs = [ kdelibs perl ];
-
-  cmakeFlags = [ "-DBUILD_perldoc=ON" ];
-
-  meta = {
-    description = "perldoc: kioslave";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kioslave-svn.nix b/pkgs/desktops/kde-4.8/kdesdk/kioslave-svn.nix
deleted file mode 100644
index db0bd27094b5..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kioslave-svn.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, subversionClient, apr, aprutil }:
-
-kde {
-  buildInputs = [ kdelibs subversionClient apr aprutil ];
-
-  patches = [ ./find-svn.patch ];
-
-  meta = {
-    description = "Subversion kioslave";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kmtrace.nix b/pkgs/desktops/kde-4.8/kdesdk/kmtrace.nix
deleted file mode 100644
index d580f7fb6911..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kmtrace.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, gcc }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}";
-
-  meta = {
-    description = "KDE mtrace-based malloc debugger";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kompare.nix b/pkgs/desktops/kde-4.8/kdesdk/kompare.nix
deleted file mode 100644
index 1ddb4b8ea5b9..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kompare.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A program to view the differences between files and optionally generate a diff";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kpartloader.nix b/pkgs/desktops/kde-4.8/kdesdk/kpartloader.nix
deleted file mode 100644
index e7790d33c90c..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kpartloader.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A test application for KParts";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kprofilemethod.nix b/pkgs/desktops/kde-4.8/kdesdk/kprofilemethod.nix
deleted file mode 100644
index 5a6693f2f5d8..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kprofilemethod.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "A macro for profiling using QTime";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kstartperf.nix b/pkgs/desktops/kde-4.8/kdesdk/kstartperf.nix
deleted file mode 100644
index 0c8259cd31f5..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kstartperf.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libtool }:
-
-kde {
-  buildInputs = [ kdelibs libtool ];
-
-  meta = {
-    description = "Measures start up time of a KDE application";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/kuiviewer.nix b/pkgs/desktops/kde-4.8/kdesdk/kuiviewer.nix
deleted file mode 100644
index 7c5089dcd37f..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/kuiviewer.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Displays Qt Designer's UI files";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.8/kdesdk/lokalize.nix
deleted file mode 100644
index 1565426eb1fc..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/lokalize.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, hunspell }:
-
-kde {
-  buildInputs = [ kdelibs hunspell ];
-
-  meta = {
-    description = "KDE 4 Computer-aided translation system";
-    longDescription = ''
-      Computer-aided translation system.
-      Do not translate what had already been translated.
-    '';
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/okteta.nix b/pkgs/desktops/kde-4.8/kdesdk/okteta.nix
deleted file mode 100644
index 058636596ad8..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/okteta.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, qca2 }:
-
-kde {
-  buildInputs = [ kdelibs qca2 ];
-
-# TODO: Look what does -DBUILD_mobile add
-
-  enableParallelBuilding = false;
-
-  meta = {
-    description = "KDE byte editor";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/poxml.nix b/pkgs/desktops/kde-4.8/kdesdk/poxml.nix
deleted file mode 100644
index 1ab9ed49df56..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/poxml.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, antlr }:
-
-kde {
-  buildInputs = [ kdelibs antlr ];
-
-  meta = {
-    description = "Po<->xml tools";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/scripts.nix b/pkgs/desktops/kde-4.8/kdesdk/scripts.nix
deleted file mode 100644
index df81145e5d60..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/scripts.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Various scripts to ease KDE development";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/strigi-analyzer.nix b/pkgs/desktops/kde-4.8/kdesdk/strigi-analyzer.nix
deleted file mode 100644
index 0ad48c8cfdee..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/strigi-analyzer.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Strigi analyzers for diff, po and ts";
-    kde = {
-      name = "strigi-analyzer";
-      module = "kdesdk";
-    };
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.8/kdesdk/umbrello.nix
deleted file mode 100644
index e83a2d9a901b..000000000000
--- a/pkgs/desktops/kde-4.8/kdesdk/umbrello.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt, boost }:
-
-kde {
-  buildInputs = [ kdelibs libxml2 libxslt boost ];
-
-  meta = {
-    description = "Umbrello UML modeller";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdetoys/amor.nix b/pkgs/desktops/kde-4.8/kdetoys/amor.nix
deleted file mode 100644
index 936d63d544a9..000000000000
--- a/pkgs/desktops/kde-4.8/kdetoys/amor.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE creature for your desktop";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.8/kdetoys/kteatime.nix
deleted file mode 100644
index dacf54def4b0..000000000000
--- a/pkgs/desktops/kde-4.8/kdetoys/kteatime.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE utility for making a fine cup of tea";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdetoys/ktux.nix b/pkgs/desktops/kde-4.8/kdetoys/ktux.nix
deleted file mode 100644
index 108f9be7c722..000000000000
--- a/pkgs/desktops/kde-4.8/kdetoys/ktux.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, kde_workspace }:
-
-kde {
-  buildInputs = [ kdelibs kde_workspace ];
-
-  meta = {
-    description = "Tux Screen Saver";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/ark.nix b/pkgs/desktops/kde-4.8/kdeutils/ark.nix
deleted file mode 100644
index 7fbdaf586d66..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/ark.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libarchive, bzip2, kde_baseapps }:
-
-kde {
-  buildInputs = [ kdelibs kde_baseapps libarchive bzip2 ];
-
-  meta = {
-    description = "KDE Archiving Tool";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/filelight.nix b/pkgs/desktops/kde-4.8/kdeutils/filelight.nix
deleted file mode 100644
index 25ecabed27ce..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/filelight.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Tool to visualise file and directory sizes";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.8/kdeutils/kcalc.nix
deleted file mode 100644
index 08b202e8f0e8..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/kcalc.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, gmp }:
-
-kde {
-  buildInputs = [ kdelibs gmp ];
-
-  meta = {
-    description = "KDE Calculator";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.8/kdeutils/kcharselect.nix
deleted file mode 100644
index d4c9c06f483d..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/kcharselect.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE character selection utility";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/kdf.nix b/pkgs/desktops/kde-4.8/kdeutils/kdf.nix
deleted file mode 100644
index 3f9da58d0a62..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/kdf.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE free disk space utility";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.8/kdeutils/kfloppy.nix
deleted file mode 100644
index 2434a4fa671f..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/kfloppy.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Floppy disk formatting utility";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.8/kdeutils/kgpg.nix
deleted file mode 100644
index f3b00a5b968c..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/kgpg.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, kdepimlibs }:
-
-kde {
-  buildInputs = [ kdelibs kdepimlibs ];
-
-  meta = {
-    description = "Simple KDE GUI for GPG";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.8/kdeutils/kremotecontrol.nix
deleted file mode 100644
index fef516e478d3..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/kremotecontrol.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, kde_workspace, libXtst }:
-
-kde {
-  buildInputs = [ kdelibs kde_workspace libXtst ];
-
-  meta = {
-    description = "KDE remote control";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.8/kdeutils/ktimer.nix
deleted file mode 100644
index 5700977349e3..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/ktimer.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE Timer";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.8/kdeutils/kwallet.nix
deleted file mode 100644
index 9ec0e6c0396c..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/kwallet.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "KDE Wallet (password storage) management tool";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/printer-applet.nix b/pkgs/desktops/kde-4.8/kdeutils/printer-applet.nix
deleted file mode 100644
index 2d937b3a4db7..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/printer-applet.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ kde, kdelibs
-, pythonPackages, sip, pyqt4, pykde4, pycups, rhpl, system_config_printer
-, pythonDBus, makeWrapper }:
-
-let s_c_p = system_config_printer.override { withGUI = false; }; in
-
-kde rec {
-  buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython
-    ] ++ pythonPath;
-
-  pythonPath = [ 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 applet";
-    longDescription = "Applet to view current print jobs and configure new printers";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix
deleted file mode 100644
index 4dce768078ba..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, qimageblitz }:
-
-kde {
-  buildInputs = [ kdelibs qimageblitz ];
-
-  cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ];
-
-  meta = {
-    description = "A KDE Eye-candy Application";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.8/kdeutils/sweeper.nix
deleted file mode 100644
index 78d56c7df30e..000000000000
--- a/pkgs/desktops/kde-4.8/kdeutils/sweeper.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Helps clean unwanted traces the user leaves on the system";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.8/kdewebdev/kfilereplace.nix
deleted file mode 100644
index c3f6129d7e5c..000000000000
--- a/pkgs/desktops/kde-4.8/kdewebdev/kfilereplace.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt }:
-
-kde {
-  buildInputs = [ kdelibs libxml2 libxslt ];
-
-  meta = {
-    description = "Batch search and replace tool";
-    homepage = http://www.kdewebdev.org;
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.8/kdewebdev/kimagemapeditor.nix
deleted file mode 100644
index bececea7797e..000000000000
--- a/pkgs/desktops/kde-4.8/kdewebdev/kimagemapeditor.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt }:
-
-kde {
-  buildInputs = [ kdelibs libxml2 libxslt ];
-
-  meta = {
-    description = "An HTML imagemap editor";
-    homepage = http://www.nongnu.org/kimagemap/;
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.8/kdewebdev/klinkstatus.nix
deleted file mode 100644
index 94adbb7fd6e0..000000000000
--- a/pkgs/desktops/kde-4.8/kdewebdev/klinkstatus.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt, kdepimlibs
-, boost, htmlTidy }:
-
-kde {
-  buildInputs =
-    [ kdelibs libxml2 libxslt kdepimlibs boost htmlTidy ];
-
-  meta = {
-    description = "A KDE link checker";
-    homepage = http://klinkstatus.kdewebdev.org;
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.8/kdewebdev/kommander.nix
deleted file mode 100644
index 6a870e563033..000000000000
--- a/pkgs/desktops/kde-4.8/kdewebdev/kommander.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt }:
-
-kde {
-  buildInputs = [ kdelibs libxml2 libxslt ];
-
-  meta = {
-    description = "A graphical editor of scripted dialogs";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/l10n/default.nix b/pkgs/desktops/kde-4.8/l10n/default.nix
deleted file mode 100644
index c9fab80bffb4..000000000000
--- a/pkgs/desktops/kde-4.8/l10n/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, kdelibs, gettext, release, stable }:
-
-let
-
-  inherit (stdenv.lib) attrByPath singleton;
-
-  kdeL10nDerivation =
-    { lang, saneName, sha256 }:
-
-    stdenv.mkDerivation rec {
-      name = "kde-l10n-${saneName}-${release}";
-
-      src = fetchurl {
-        url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz";
-        name = "${name}.tar.xz";
-        inherit sha256;
-      };
-
-      buildInputs = [ gettext kdelibs ];
-
-      cmakeFlags = "-Wno-dev";
-
-      meta = {
-        description = "KDE translation for ${lang}";
-        license = "GPL";
-        platforms = stdenv.lib.platforms.linux;
-        inherit (kdelibs.meta) maintainers homepage;
-      };
-    };
-
-  kdeL10nRelease =
-    builtins.listToAttrs (
-      map ({lang, saneName, sha256}:
-        {
-          name = saneName;
-          value = kdeL10nDerivation { inherit lang saneName sha256; };
-        }
-      ) (import (./manifest + "-${release}.nix"))
-    );
-
-in
-{
-  inherit kdeL10nDerivation;
-  recurseForDerivations = true;
-} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.8/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.8/l10n/l10n-manifest.sh
deleted file mode 100755
index ec159a1e2047..000000000000
--- a/pkgs/desktops/kde-4.8/l10n/l10n-manifest.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-# Usage: download kde-l10n to $dir, then run
-# $0 $dir
-
-dir=$1
-
-if [[ ! -d "${dir}" ]]; then
-  echo "${dir} is not a directory (or doesn't exist)!" >&2
-  exit 1
-fi
-
-release=$(ls "${dir}"/kde-l10n-en_GB-*.tar.xz | \
-	sed -e 's/.*en_GB-//' -e 's/\.tar\.xz//')
-
-echo "Detected release ${release}" >&2
-
-exec > "manifest-${release}.nix"
-echo "["
-for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.xz`; do
-  lang=${i%-${release}.tar.xz}
-  lang=${lang#kde-l10n-}
-  echo -n "${lang}.. " >&2
-  hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
-  echo "{"
-  echo "  lang = \"${lang}\";"
-  echo "  saneName = \"$(echo $lang | sed s^@^_^g)\";"
-  echo "  sha256 = \"${hash}\";"
-  echo "}"
-  echo $hash >&2
-done
-echo "]"
diff --git a/pkgs/desktops/kde-4.8/l10n/manifest-4.8.4.nix b/pkgs/desktops/kde-4.8/l10n/manifest-4.8.4.nix
deleted file mode 100644
index fb823440abd5..000000000000
--- a/pkgs/desktops/kde-4.8/l10n/manifest-4.8.4.nix
+++ /dev/null
@@ -1,277 +0,0 @@
-[
-{
-  lang = "ar";
-  saneName = "ar";
-  sha256 = "1s17fypvwbr7v2jz1cdmxcgyav8ggj6sjiamvxdb9c6waahhmpjv";
-}
-{
-  lang = "bg";
-  saneName = "bg";
-  sha256 = "1lpdd4h9xgssvd5srkiyfzl7ngiyq7pipjm896qfmz03j3yzbwnz";
-}
-{
-  lang = "bs";
-  saneName = "bs";
-  sha256 = "0g6f5nihxizixc17y92453b4gj6w0bfwk4kndg2z60in9m4cswz5";
-}
-{
-  lang = "ca";
-  saneName = "ca";
-  sha256 = "02har0kybcj2jj51lxkrm6akr9dmv0afrxmzggbrbhfglhln8221";
-}
-{
-  lang = "ca@valencia";
-  saneName = "ca_valencia";
-  sha256 = "06wcfrbq1yh1vmzcyn7klym9cvmk8p56b23k9nbgw129z0ylhqxx";
-}
-{
-  lang = "cs";
-  saneName = "cs";
-  sha256 = "14kn3xq62fxn138gkc63icmngl97vb1bkmqv93cscbr4zc5sfkvw";
-}
-{
-  lang = "da";
-  saneName = "da";
-  sha256 = "10h3crypajdrxghn3hwprsgm09dblwsr17pg99c03zs4cd3gyv6s";
-}
-{
-  lang = "de";
-  saneName = "de";
-  sha256 = "1pp5d3s1450wf1kwawj9n3gv4pgr32dh3nnvkl5n58wjq07b9ah7";
-}
-{
-  lang = "el";
-  saneName = "el";
-  sha256 = "1wkp2v8yspgyixyki962vb3y8qdkdlp9mkrvfbw8lr6w2ivhkd90";
-}
-{
-  lang = "en_GB";
-  saneName = "en_GB";
-  sha256 = "07qw1qinlndfdkz2dzdr9bbb9kqxqhq3ya1qmcz999bw3ggjyi25";
-}
-{
-  lang = "es";
-  saneName = "es";
-  sha256 = "0wfl76s3zdb29dckbds63cfi96v2v59f6cm9yzjhwn87kyicq7k1";
-}
-{
-  lang = "et";
-  saneName = "et";
-  sha256 = "04ip1493m35qdv9f42590r1zqf9g6cksqzp6n7xcfzi1lr0cipyv";
-}
-{
-  lang = "eu";
-  saneName = "eu";
-  sha256 = "1pisn8myphk38jym2i8rp60rnvh3jn8lxnjghf5ng7h6ac1ydki3";
-}
-{
-  lang = "fa";
-  saneName = "fa";
-  sha256 = "1vx01f0i8mcxzbizn32hpl737bgih73qnsysvzl6cdv06ckvxrmm";
-}
-{
-  lang = "fi";
-  saneName = "fi";
-  sha256 = "1gx78cc294xnq2n96br2ahr2p6jzgv9d7bbaf9rm4nsamzbdd5m6";
-}
-{
-  lang = "fr";
-  saneName = "fr";
-  sha256 = "0skvnga1xavx10l3hhyqdr0mfapnjnbh75pbjvibg96d7wzxxi23";
-}
-{
-  lang = "ga";
-  saneName = "ga";
-  sha256 = "1pqcxhsgca3c5h9i9jpx67b572r3nhxrd6zmpkhidp3b476j2fx4";
-}
-{
-  lang = "gl";
-  saneName = "gl";
-  sha256 = "03k0w0byra36krrm8gbfmfv7am74y85zy6n01nl3j4xgiy41yqy4";
-}
-{
-  lang = "he";
-  saneName = "he";
-  sha256 = "0llqgsp9nw92px54lidsgdx5mk6z5nivshs4p193iplypa1pcfck";
-}
-{
-  lang = "hr";
-  saneName = "hr";
-  sha256 = "0w8l6msbxmjg889kpprh3bfzbgks2abp30b0m6xn43jkrghghxsj";
-}
-{
-  lang = "hu";
-  saneName = "hu";
-  sha256 = "0j63m00ilk9k5dy12bp3ndrwk5vcz79pwqhj9znp9l077lr1ah5n";
-}
-{
-  lang = "ia";
-  saneName = "ia";
-  sha256 = "0d3nkv9kbh6rdaf46psy2iia1phkj49xf67cdmnhr8kqgh557vh6";
-}
-{
-  lang = "id";
-  saneName = "id";
-  sha256 = "1gq4asqwsayd7wgkyqqg93lhqa8m0ac35as4dlrbqph4rk56k54y";
-}
-{
-  lang = "is";
-  saneName = "is";
-  sha256 = "05l9d9xmf08nr14gjsl8qbqyn8xc3qji4wc4zsqnmnp2fk8l3ndd";
-}
-{
-  lang = "it";
-  saneName = "it";
-  sha256 = "0hhl7pdfs1kcmz18k08961xq7y5vvjkwwzibkg238xagjq6wh1wl";
-}
-{
-  lang = "ja";
-  saneName = "ja";
-  sha256 = "1ipf5y1vy5accxbxs74641iqs785n2nkgxy31lgcm0ay0s6y3kx4";
-}
-{
-  lang = "kk";
-  saneName = "kk";
-  sha256 = "1arhyqn4yarcff3zhpi7a0c26b0rr1k3dwds9r6vq383vmv5la4a";
-}
-{
-  lang = "km";
-  saneName = "km";
-  sha256 = "1ny008qwxpdl9l4a56y664hxb3y0c9i5rpbbwnpcmynm6fmnm1ik";
-}
-{
-  lang = "ko";
-  saneName = "ko";
-  sha256 = "0aimxflnbx716bdph6snfzw17kkqqsbxrxawgjwmdp69h02pj5zh";
-}
-{
-  lang = "lt";
-  saneName = "lt";
-  sha256 = "14np3z28z946mf1g93ci202mqmg3qlgi1wlv8yp7949lq36psfx2";
-}
-{
-  lang = "lv";
-  saneName = "lv";
-  sha256 = "1jqxyih3m9p0km610dmpv9c3nzxjfm2aga1lm7nz3akgb8n6lhdi";
-}
-{
-  lang = "nb";
-  saneName = "nb";
-  sha256 = "000lmksgcinsxr5ny607b2q4h108pk4jzyygrf38zpw02crsa0i5";
-}
-{
-  lang = "nds";
-  saneName = "nds";
-  sha256 = "0spg23ngm8lj7bkbcj0s62i22flqzwvnhg12ghkiyqrdg8v725hq";
-}
-{
-  lang = "nl";
-  saneName = "nl";
-  sha256 = "1qpdabq9clbb6r59gs7s0k3l1rb5fxvbhsasxsw1r7m4l32gnlib";
-}
-{
-  lang = "nn";
-  saneName = "nn";
-  sha256 = "1nfkwmic4vs287ywi0mrqw95fvy42xdaxrsafxhjwdxqiynq6z66";
-}
-{
-  lang = "pa";
-  saneName = "pa";
-  sha256 = "078m4ph7kcjvkbivhaa54wdqr8fz8qa8r8db76w1wlynwgqy4qfs";
-}
-{
-  lang = "pl";
-  saneName = "pl";
-  sha256 = "1vcgkikbq48kxcgpi0vp95gj3wgfmghrvr6gqhlfql19wp5mjvm8";
-}
-{
-  lang = "pt";
-  saneName = "pt";
-  sha256 = "04pjxaxllhhccwinn33ild0xjjn05wqb3a660xhf3cgr6wkgx02f";
-}
-{
-  lang = "pt_BR";
-  saneName = "pt_BR";
-  sha256 = "1bb2f14h73ba35ysl3snnbiawx2ciz8h80f80k76qnyxix6zk885";
-}
-{
-  lang = "ro";
-  saneName = "ro";
-  sha256 = "1gm22h89j0s91gdnpn8nf0zw761ddwj5wg5i58v8aza45dh026rx";
-}
-{
-  lang = "ru";
-  saneName = "ru";
-  sha256 = "13hmbpsvzxiz4ci29388crr8xwhqmbrgs3yn12ay6z8fcwi3v528";
-}
-{
-  lang = "si";
-  saneName = "si";
-  sha256 = "0557m5r07xdqc0ambzw7b5kqnjaxyx6si2w2zi804gx89cjkjzyn";
-}
-{
-  lang = "sk";
-  saneName = "sk";
-  sha256 = "0yy379i8hy37sq61xz3n9309srjgm46n8jhj5dqf120jfc4knp2m";
-}
-{
-  lang = "sl";
-  saneName = "sl";
-  sha256 = "03qk82hz3zdaj1rcpfyrzks4ss6rrqfwz1wkjqp1rrm5g7kl835w";
-}
-{
-  lang = "sr";
-  saneName = "sr";
-  sha256 = "1dz2ckc7h7sm8ac66ajpypfifkpnx94d5d24hsm9gnp271x3134a";
-}
-{
-  lang = "sv";
-  saneName = "sv";
-  sha256 = "0rynj1db0yijlb2ilwzia53h2xqaj5prz4ap0y06vpw5i84xf6f5";
-}
-{
-  lang = "tg";
-  saneName = "tg";
-  sha256 = "0s78pb4b6fkqwvn9hp0n2mb6jkdwnx3hfh7vs9dxdx3m7zpgjq9z";
-}
-{
-  lang = "th";
-  saneName = "th";
-  sha256 = "0xf646xnyjkwa5m32chsnsbb5ndfvbrzgc7i76g2fwp843wrn4rq";
-}
-{
-  lang = "tr";
-  saneName = "tr";
-  sha256 = "0bfawc1cp9f7q1cq69y0w9bwawh2f4bhl1795f0i171pvfmmwq9g";
-}
-{
-  lang = "ug";
-  saneName = "ug";
-  sha256 = "1lj7kjmfjk6micrspkpzx4jhskw33zi7jyshfz8i8234vzzn9j6d";
-}
-{
-  lang = "uk";
-  saneName = "uk";
-  sha256 = "09ssi2zx24cfwc4bm039i9p6si8cx22fqwisi356ijjclrb3k7sh";
-}
-{
-  lang = "vi";
-  saneName = "vi";
-  sha256 = "0sc3mjbi7gsyllgkqck75qgnfdmrlqh5ffmxl2p4q8m1whkgxqr1";
-}
-{
-  lang = "wa";
-  saneName = "wa";
-  sha256 = "06rfw2l812gf3zyw7kl500lxda751q3bhrl7dh67zsc4s18gy9cb";
-}
-{
-  lang = "zh_CN";
-  saneName = "zh_CN";
-  sha256 = "1zaxjza3q5ana63kqm9mbqssz73my07iikfq2w0i29naqx570p0y";
-}
-{
-  lang = "zh_TW";
-  saneName = "zh_TW";
-  sha256 = "1svp8ykbcssl028hn6vxb6yb5agkbzlzvxnm6imkillsvmqlchdj";
-}
-]
diff --git a/pkgs/desktops/kde-4.8/oxygen-icons.nix b/pkgs/desktops/kde-4.8/oxygen-icons.nix
deleted file mode 100644
index 52e5e5f6bb01..000000000000
--- a/pkgs/desktops/kde-4.8/oxygen-icons.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, cmake }:
-
-kde {
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "3984dac79aa7398578bcd9d69d74988bd992807518d46cd1dabc03867044c8a4";
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = {
-    description = "KDE Oxygen theme icons";
-    longDescription = "Icons for KDE's default theme";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.8/support/akonadi/default.nix b/pkgs/desktops/kde-4.8/support/akonadi/default.nix
deleted file mode 100644
index 9a9e8a870660..000000000000
--- a/pkgs/desktops/kde-4.8/support/akonadi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano }:
-
-stdenv.mkDerivation rec {
-  name = "akonadi-1.7.2";
-  
-  src = fetchurl {
-    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
-    sha256 = "07rbhc8aa3d896j2r64ljv3amd6s4xhlbgq7kx99m1f68yl1fwjb";
-  };
-
-  buildInputs = [ qt4 soprano libxslt boost ];
-
-  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 ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix
index e77c2251b36d..89501f11269c 100644
--- a/pkgs/development/arduino/ino/default.nix
+++ b/pkgs/development/arduino/ino/default.nix
@@ -29,11 +29,12 @@ buildPythonPackage rec {
       --replace "self.e['avrdude']" "'${avrdude}/bin/avrdude'" \
       --replace "'-C', self.e['avrdude.conf']," ""
   '';
- 
+
   meta = {
     description = "Command line toolkit for working with Arduino hardware";
     homepage = http://inotool.org/;
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ antono the-kenny ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix
index fcd0c9fd453d..57d1bf74154e 100644
--- a/pkgs/development/compilers/aldor/default.nix
+++ b/pkgs/development/compilers/aldor/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.aldor.org/";
-    description = "Aldor is a programming language with an expressive type system";
+    description = "Programming language with an expressive type system";
     license = stdenv.lib.licenses.asl20;
 
     longDescription = ''
diff --git a/pkgs/development/compilers/clean/default.nix b/pkgs/development/compilers/clean/default.nix
index bd051a95699e..7f3e679e8476 100644
--- a/pkgs/development/compilers/clean/default.nix
+++ b/pkgs/development/compilers/clean/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Clean is a general purpose, state-of-the-art, pure and lazy functional programming language.";
+    description = "General purpose, state-of-the-art, pure and lazy functional programming language";
     longDescription = ''
       Clean is a general purpose, state-of-the-art, pure and lazy functional
       programming language designed for making real-world applications. Some
diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix
index 949324ba8b1c..3c2a4f779fdd 100644
--- a/pkgs/development/compilers/edk2/default.nix
+++ b/pkgs/development/compilers/edk2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, libuuid, pythonFull, iasl }:
+{ stdenv, fetchgit, libuuid, pythonFull, iasl }:
 
 let
 
@@ -10,12 +10,12 @@ else
   throw "Unsupported architecture";
 
 edk2 = stdenv.mkDerivation {
-  name = "edk2-2013-03-19";
+  name = "edk2-2013-10-09";
   
-  src = fetchsvn {
-    url = https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2;
-    rev = "14211";
-    sha256 = "1rhrv7cyazb1d4gw3s8fv0c245iankvb9pqx6nngbkkxkcswvnw7";
+  src = fetchgit {
+    url = git://github.com/tianocore/edk2;
+    rev = "5bcb62a4098c9bde9be6af0833a025adc768e08d";
+    sha256 = "3e2958877061bf6bbfb28b150743d7244486929c1c320bdb1ff2586774aa042a";
   };
 
   buildInputs = [ libuuid pythonFull ];
diff --git a/pkgs/development/compilers/gwt/2.4.0.nix b/pkgs/development/compilers/gwt/2.4.0.nix
index c5c7841d72a0..65208b062c25 100644
--- a/pkgs/development/compilers/gwt/2.4.0.nix
+++ b/pkgs/development/compilers/gwt/2.4.0.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://code.google.com/webtoolkit/;
-    description = "Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications.";
+    description = "Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications";
   };
 }
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 7252343aa559..30ef18a1ef91 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,20 +1,21 @@
-{ cabal, ansiTerminal, binary, boehmgc, Cabal, filepath, gmp, happy
-, haskeline, languageJava, libffi, llvmGeneral, llvmGeneralPure
-, mtl, parsec, parsers, split, text, time, transformers, trifecta
-, unorderedContainers, utf8String, vector, vectorBinaryInstances
+{ cabal, ansiTerminal, ansiWlPprint, binary, boehmgc, Cabal
+, filepath, gmp, happy, haskeline, languageJava, libffi
+, llvmGeneral, llvmGeneralPure, mtl, parsec, parsers, split, text
+, time, transformers, trifecta, unorderedContainers, utf8String
+, vector, vectorBinaryInstances
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.9.2";
-  sha256 = "0xfwnlf3jca64i4piyx9scmk4z8f6rak2cvrcjwji505a9vaa0rw";
+  version = "0.9.9.3";
+  sha256 = "1l19xx0xbcwlnnh2w0rmri7wwixffzfrafpbji64nwyx1awz4iab";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    ansiTerminal binary Cabal filepath haskeline languageJava libffi
-    llvmGeneral llvmGeneralPure mtl parsec parsers split text time
-    transformers trifecta unorderedContainers utf8String vector
-    vectorBinaryInstances
+    ansiTerminal ansiWlPprint binary Cabal filepath haskeline
+    languageJava libffi llvmGeneral llvmGeneralPure mtl parsec parsers
+    split text time transformers trifecta unorderedContainers
+    utf8String vector vectorBinaryInstances
   ];
   buildTools = [ happy ];
   extraLibraries = [ boehmgc gmp ];
diff --git a/pkgs/development/compilers/jdk/dlj-bundle-builder.sh b/pkgs/development/compilers/jdk/dlj-bundle-builder.sh
index cf59a28164bb..028164ac3955 100644
--- a/pkgs/development/compilers/jdk/dlj-bundle-builder.sh
+++ b/pkgs/development/compilers/jdk/dlj-bundle-builder.sh
@@ -37,6 +37,11 @@ else
   jrePath=$out/jre
 fi
 
+if test -n "$jce"; then
+  unzip $jce
+  cp -v jce/*.jar $jrePath/lib/security
+fi
+
 rpath=$rpath${rpath:+:}$jrePath/lib/$architecture/jli
 
 # set all the dynamic linkers
diff --git a/pkgs/development/compilers/jdk/jdk6-linux.nix b/pkgs/development/compilers/jdk/jdk6-linux.nix
index 340bbdf91ac9..97ec6b56305c 100644
--- a/pkgs/development/compilers/jdk/jdk6-linux.nix
+++ b/pkgs/development/compilers/jdk/jdk6-linux.nix
@@ -6,6 +6,7 @@
 , xlibs ? null
 , installjdk ? true
 , pluginSupport ? true
+, installjce ? false
 }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -24,6 +25,15 @@ let
     else
       abort "jdk requires i686-linux or x86_64 linux";
 
+  jce =
+    if installjce then
+      requireFile {
+        name = "jce_policy-6.zip";
+        url = http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html;
+        sha256 = "0qljzfxbikm8br5k7rkamibp1vkyjrf6blbxpx6hn4k46f62bhnh";
+      }
+    else
+      null;
 in
 
 stdenv.mkDerivation {
@@ -65,7 +75,7 @@ stdenv.mkDerivation {
     [stdenv.gcc.libc] ++
     (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt] else []);
 
-  inherit swingSupport pluginSupport architecture;
+  inherit swingSupport pluginSupport architecture jce;
   inherit (xlibs) libX11;
 
   mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix
index 3e45fc6d5e35..ae550f5692d8 100644
--- a/pkgs/development/compilers/julia/default.nix
+++ b/pkgs/development/compilers/julia/default.nix
@@ -8,7 +8,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "julia";
-  date = "20130611";
+  date = "20131013";
   name = "${pname}-git-${date}";
 
   grisu_ver = "1.1.1";
@@ -65,8 +65,8 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "git://github.com/JuliaLang/julia.git";
-    rev = "60cc4e44bf415dcda90f2bbe22300f842fe44098";
-    sha256 = "018s0zyvdkxjldbvcdv40q3v2gcjznyyql5pv3zhhy1iq11jddfz";
+    rev = "76d2b87a45fff637473c4c342c9f5f9387675fda";
+    sha256 = "079g44r27lv0wsfbg84ihrmgzl73djjjr41xjiaqdph55zqfbn4f";
   };
 
   buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
@@ -131,7 +131,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "High-level performance-oriented dynamical language for technical computing.";
+    description = "High-level performance-oriented dynamical language for technical computing";
     homepage = "http://julialang.org/";
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.raskin ];
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix
index 770a6b17b158..a5ff613a9b45 100644
--- a/pkgs/development/compilers/mlton/default.nix
+++ b/pkgs/development/compilers/mlton/default.nix
@@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "MLton is an open-source, whole-program, optimizing Standard ML compiler.";
+    description = "Open-source, whole-program, optimizing Standard ML compiler";
     longDescription = ''
       MLton is an open source, whole-program optimizing compiler for the Standard ML programming language.
       MLton aims to produce fast executables, and to encourage rapid prototyping and modular programming
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 1e4feff1107b..288fdb33454a 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -4,11 +4,11 @@ let
   s= # Generated upstream information
   rec {
     baseName="sbcl";
-    version="1.1.8";
+    version="1.1.12";
     name="${baseName}-${version}";
-    hash="1fmcpsi2bddfpz3impm9i62y9p15r3mc4xgm1dg0k77l33859jip";
-    url="mirror://sourceforge/project/sbcl/sbcl/1.1.8/sbcl-1.1.8-source.tar.bz2";
-    sha256="1fmcpsi2bddfpz3impm9i62y9p15r3mc4xgm1dg0k77l33859jip";
+    hash="0mvl6lpi44yv6jv3xhyyzvf9g7bdlj691iz3ydpn66v0vg5i554c";
+    url="mirror://sourceforge/project/sbcl/sbcl/1.1.12/sbcl-1.1.12-source.tar.bz2";
+    sha256="0mvl6lpi44yv6jv3xhyyzvf9g7bdlj691iz3ydpn66v0vg5i554c";
   };
   buildInputs = with a; [
     clisp makeWrapper
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index 66b15e3499d9..a2423bee9b9a 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   dontDisableStatic = true;
 
   meta = {
-    description = "Ur/Web supports construction of dynamic web applications backed by SQL databases.";
+    description = "Construct dynamic web applications backed by SQL databases";
     longDescription = ''
       Ur is a programming language in the tradition of ML and Haskell, but
       featuring a significantly richer type system. Ur is functional, pure,
diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix
index 44e407105690..a29c0de65b87 100644
--- a/pkgs/development/compilers/yap/default.nix
+++ b/pkgs/development/compilers/yap/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline gmp zlib ];
 
+  configureFlags = "--enable-tabling=yes";
+
   meta = {
     homepage = "http://www.dcc.fc.up.pt/~vsc/Yap/";
     description = "Yap Prolog System is a ISO-compatible high-performance Prolog compiler";
diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix
index a092172c8ca7..22f92f40183e 100644
--- a/pkgs/development/interpreters/angelscript/default.nix
+++ b/pkgs/development/interpreters/angelscript/default.nix
@@ -47,7 +47,7 @@ rec {
   '' ["defEnsureDir" "prepareBuild"];
       
   meta = {
-    description = "A light-weight scripting library";
+    description = "Light-weight scripting library";
     maintainers = with a.lib.maintainers;
     [
       raskin
diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix
index bd19d738860a..b8af3f6d7479 100644
--- a/pkgs/development/interpreters/clisp/default.nix
+++ b/pkgs/development/interpreters/clisp/default.nix
@@ -48,6 +48,11 @@ stdenv.mkDerivation rec {
     cd builddir
   '';
 
+  postInstall = ''
+    ./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full \
+        clx/new-clx bindings/glibc pcre rawsock wildcard zlib
+  '';
+
   NIX_CFLAGS_COMPILE="-O0";
 
   # TODO : make mod-check fails
diff --git a/pkgs/development/interpreters/falcon/default.nix b/pkgs/development/interpreters/falcon/default.nix
index 9800e895400c..0b4bfacb6de5 100644
--- a/pkgs/development/interpreters/falcon/default.nix
+++ b/pkgs/development/interpreters/falcon/default.nix
@@ -29,6 +29,6 @@ rec {
 
   name = "falcon-" + version;
   meta = {
-    description = "A programming language. Has macros and syntax at once.";
+    description = "Programming language with macros and syntax at once";
   };
 }
diff --git a/pkgs/development/interpreters/hiphopvm/default.nix b/pkgs/development/interpreters/hiphopvm/default.nix
index 57e3e93c6466..c18c81caff05 100644
--- a/pkgs/development/interpreters/hiphopvm/default.nix
+++ b/pkgs/development/interpreters/hiphopvm/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
   patches = [./tbb.patch];
 
   meta = {
-    description = "HipHop is a high performance PHP toolchain.";
+    description = "High performance PHP toolchain";
     homepage = https://github.com/facebook/hiphop-php;
     platforms = ["x86_64-linux"];
   };
diff --git a/pkgs/development/interpreters/lua-4/default.nix b/pkgs/development/interpreters/lua-4/default.nix
index a95e4e4c35ea..13f7964769ca 100644
--- a/pkgs/development/interpreters/lua-4/default.nix
+++ b/pkgs/development/interpreters/lua-4/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.lua.org";
-    description = "Lua is a powerful, fast, lightweight, embeddable scripting language.";
+    description = "Powerful, fast, lightweight, embeddable scripting language";
     longDescription = ''
       Lua combines simple procedural syntax with powerful data
       description constructs based on associative arrays and extensible
diff --git a/pkgs/development/interpreters/lua-5/5.0.3.nix b/pkgs/development/interpreters/lua-5/5.0.3.nix
index ff2a81401910..eae2d82d5d0a 100644
--- a/pkgs/development/interpreters/lua-5/5.0.3.nix
+++ b/pkgs/development/interpreters/lua-5/5.0.3.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.lua.org";
-    description = "Lua is a powerful, fast, lightweight, embeddable scripting language.";
+    description = "Powerful, fast, lightweight, embeddable scripting language";
     longDescription = ''
       Lua combines simple procedural syntax with powerful data
       description constructs based on associative arrays and extensible
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index a6caf0023e35..2923a8f960d1 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -26,14 +26,14 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig"
-    mv "etc/lua.pc" "$out/lib/pkgconfig/"
+    sed <"etc/lua.pc" >"$out/lib/pkgconfig/lua.pc" -e "s|^prefix=.*|prefix=$out|"
     mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/"
     rmdir $out/{share,lib}/lua/5.1 $out/{share,lib}/lua
   '';
 
   meta = {
     homepage = "http://www.lua.org";
-    description = "Lua is a powerful, fast, lightweight, embeddable scripting language.";
+    description = "Powerful, fast, lightweight, embeddable scripting language";
     longDescription = ''
       Lua combines simple procedural syntax with powerful data
       description constructs based on associative arrays and extensible
diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix
index bd5a868c2d5f..5b4c2459872e 100644
--- a/pkgs/development/interpreters/lua-5/5.2.nix
+++ b/pkgs/development/interpreters/lua-5/5.2.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://www.lua.org";
-    description = "Lua is a powerful, fast, lightweight, embeddable scripting language.";
+    description = "Powerful, fast, lightweight, embeddable scripting language";
     longDescription = ''
       Lua combines simple procedural syntax with powerful data
       description constructs based on associative arrays and extensible
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index 394278dea749..eb3d796f229a 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.18";
+  version = "5.4.20";
 
   name = "php-${version}";
 
@@ -230,7 +230,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
       "http://se1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
     ];
-    sha256 = "1ncizy992nfy3i3lzns7qcinj5376d840hchaqs5jlfn2nz0k50x";
+    sha256 = "1qarcxj46rzkmql3w2dln0hxzs349ph31fxcslizxch1ig7l43nd";
     name = "php-${version}.tar.bz2";
   };
 
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index 83a1c0ac5009..84ae789150da 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -1,5 +1,5 @@
 x@{builderDefsPackage
-  , llvm, gmp, mpfr, readline, bison, flex
+  , llvm, gmp, mpfr, readline, bison, flex, makeWrapper
   , ...}:
 builderDefsPackage
 (a :  
@@ -12,11 +12,11 @@ let
   sourceInfo = rec {
     baseName="pure";
     project="pure-lang";
-    version="0.56";
+    version="0.58";
     name="${baseName}-${version}";
     extension="tar.gz";
-    url="http://${project}.googlecode.com/files/${name}.${extension}";
-    hash="1ll29j31lp7ymp1kq57328q8md7pkp8jmwsadp67j4cdlzc3zdhj";
+    url="https://bitbucket.org/purelang/${project}/downloads/${name}.${extension}";
+    hash="180ygv8nmfy8v4696km8jdahn5cnr454sc8i1av7s6z4ss7mrxmi";
   };
 in
 rec {
@@ -29,9 +29,9 @@ rec {
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
+  phaseNames = ["doConfigure" "doMakeInstall" "doWrap"];
 
-  patches = [ ./new-gcc.patch ];
+  doWrap = a.makeManyWrappers ''$out/bin/pure'' ''--prefix LD_LIBRARY_PATH : "${llvm}/lib"'';
 
   meta = {
     description = "A purely functional programming language based on term rewriting";
@@ -45,7 +45,7 @@ rec {
   };
   passthru = {
     updateInfo = {
-      downloadPage = "http://code.google.com/p/pure-lang/downloads/list";
+      downloadPage = "https://bitbucket.org/purelang/pure-lang/downloads";
     };
   };
 }) x
diff --git a/pkgs/development/interpreters/pure/new-gcc.patch b/pkgs/development/interpreters/pure/new-gcc.patch
deleted file mode 100644
index ea2cd8450591..000000000000
--- a/pkgs/development/interpreters/pure/new-gcc.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/runtime.cc b/runtime.cc
-index 04cbc40..54a0b43 100644
---- a/runtime.cc
-+++ b/runtime.cc
-@@ -13121,39 +13121,6 @@ unsigned int sleep(unsigned int secs)
- }
- #endif
- 
--/* Horrible kludge to get round, trunc and the inverse hyperbolic functions
--   from libmingwex.a (these are in C99, but not in the Windows system
--   libraries, and LLVM doesn't know how to get them either). */
--
--extern "C"
--double __round(double x)
--{
--  return round(x);
--}
--
--extern "C"
--double __trunc(double x)
--{
--  return trunc(x);
--}
--
--extern "C"
--double __asinh(double x)
--{
--  return asinh(x);
--}
--
--extern "C"
--double __acosh(double x)
--{
--  return acosh(x);
--}
--
--extern "C"
--double __atanh(double x)
--{
--  return atanh(x);
--}
- 
- /* File type bits. */
- 
-diff --git a/util.hh b/util.hh
-index ae95b79..eab3330 100644
---- a/util.hh
-+++ b/util.hh
-@@ -58,13 +58,6 @@ char *default_encoding();
- double my_strtod(const char  *nptr, char **endptr);
- char *my_formatd(char *buffer, const char  *format, double d);
- 
--/* Windows doesn't have strptime, so we provide a suitable replacement from
--   GNU libc (see strptime.c). */
--
--#ifndef HAVE_STRPTIME
--extern "C"
--char *strptime(const char *s, const char *format, struct tm *tm);
--#endif
- 
- /* Windows doesn't have mkstemp, so we provide a suitable replacement. */
- 
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index b99beca38923..6b746185b6cc 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -160,6 +160,11 @@ let
       deps = [ ncurses ];
     };
 
+    curses_panel = buildInternalPythonModule {
+      moduleName = "curses_panel";
+      deps = [ ncurses modules.curses ];
+    };
+
     gdbm = buildInternalPythonModule {
       moduleName = "gdbm";
       internalName = "gdbm";
diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix
index ce0613486757..043094c03036 100644
--- a/pkgs/development/interpreters/python/2.7/default.nix
+++ b/pkgs/development/interpreters/python/2.7/default.nix
@@ -164,6 +164,11 @@ let
       deps = [ ncurses ];
     };
 
+    curses_panel = buildInternalPythonModule {
+      moduleName = "curses_panel";
+      deps = [ ncurses modules.curses ];
+    };
+
     crypt = buildInternalPythonModule {
       moduleName = "crypt";
       internalName = "crypt";
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index d2783ffb085e..1699690749f1 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -1,23 +1,26 @@
-# Create a python that knows about additional python packages via
-# PYTHONPATH
+{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [] }:
 
-{ stdenv, python, makeWrapper, recursivePthLoader, extraLibs ? [] }:
+# Create a python executable that knows about additional packages.
 
-stdenv.mkDerivation {
+(buildEnv {
   name = "python-${python.version}-wrapper";
+  paths = extraLibs ++ [ python makeWrapper recursivePthLoader ];
+  ignoreCollisions = false;
 
-  propagatedBuildInputs = extraLibs ++ [ python makeWrapper recursivePthLoader ];
-
-  unpackPhase = "true";
-  installPhase = ''
+  postBuild = ''
+    . "${makeWrapper}/nix-support/setup-hook"
+    if [ -L "$out/bin" ]; then
+        unlink "$out/bin"
+    fi
     mkdir -p "$out/bin"
-    for prg in 2to3 idle pdb pdb${python.majorVersion} pydoc python python-config python${python.majorVersion} python${python.majorVersion}-config smtpd.py; do
-      makeWrapper "$python/bin/$prg" "$out/bin/$prg" --suffix PYTHONPATH : "$PYTHONPATH"
+    cd "${python}/bin"
+    for prg in *; do
+      echo "$prg --> $out/bin/$prg"
+      rm -f "$out/bin/$prg"
+      makeWrapper "${python}/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
     done
-    ensureDir "$out/share"
-    ln -s "$python/share/man" "$out/share/man"
   '';
-
+}) // {
   inherit python;
   inherit (python) meta;
 }
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index ddcf26340397..f45c96d2805d 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A programming language derived from Scheme (formerly called PLT Scheme).";
+    description = "Programming language derived from Scheme (formerly called PLT Scheme)";
     longDescription = ''
       Racket (formerly called PLT Scheme) is a programming language derived
       from Scheme. The Racket project has four primary components: the
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
new file mode 100644
index 000000000000..7bc27362a296
--- /dev/null
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, pkgconfig, audiofile
+, openglSupport ? false, mesa ? null
+, alsaSupport ? true, alsaLib ? null
+, x11Support ? true, x11 ? null, libXrandr ? null
+, pulseaudioSupport ? true, pulseaudio ? null
+}:
+
+# OSS is no longer supported, for it's much crappier than ALSA and
+# PulseAudio.
+assert alsaSupport || pulseaudioSupport;
+
+assert openglSupport -> (mesa != null && x11Support);
+assert x11Support -> (x11 != null && libXrandr != null);
+assert alsaSupport -> alsaLib != null;
+assert pulseaudioSupport -> pulseaudio != null;
+
+let
+  configureFlagsFun = attrs: ''
+        --disable-oss --disable-video-x11-xme
+        --disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared
+        --disable-osmesa-shared --enable-static
+        ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""}
+      '';
+in
+stdenv.mkDerivation rec {
+  name = "SDL2-2.0.0";
+
+  src = fetchurl {
+    url = "http://www.libsdl.org/release/${name}.tar.gz";
+    sha256 = "0y3in99brki7vc2mb4c0w39v70mf4h341mblhh8nmq4h7lawhskg";
+  };
+
+  # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
+  propagatedBuildInputs = stdenv.lib.optionals x11Support [ x11 libXrandr ] ++
+    stdenv.lib.optional pulseaudioSupport pulseaudio;
+
+  buildInputs = [ pkgconfig audiofile ] ++
+    stdenv.lib.optional openglSupport [ mesa ] ++
+    stdenv.lib.optional alsaSupport alsaLib;
+
+  # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
+  # we must arrange to add it to its RPATH; however, `patchelf' seems
+  # to fail at doing this, hence `--disable-pulseaudio-shared'.
+  configureFlags = configureFlagsFun { inherit alsaLib; };
+
+  crossAttrs = {
+      configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
+  };
+
+  passthru = {inherit openglSupport;};
+
+  meta = {
+    description = "A cross-platform multimedia library";
+    homepage = http://www.libsdl.org/;
+  };
+}
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
new file mode 100644
index 000000000000..693b7bf8fe19
--- /dev/null
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -0,0 +1,54 @@
+{stdenv, fetchsvn, SDL2} :
+
+let rev = 5; in
+stdenv.mkDerivation rec {
+  name = "SDL2_gfx-${toString rev}";
+
+  src = fetchsvn {
+    url = http://svn.code.sf.net/p/sdl2gfx/code/trunk;
+    inherit rev;
+    sha256 = "1hzilbn1412m2b44mygrbdfh1gvks4v5p0kmafz248jf9ifsvmzp";
+  };
+
+  buildInputs = [ SDL2 ] ;
+
+  configureFlags = "--disable-mmx";
+
+  postInstall = ''
+    sed -i -e 's,"SDL.h",<SDL2/SDL.h>,' \
+      $out/include/SDL2/*.h
+    
+    ln -s $out/include/SDL2/SDL2_framerate.h $out/include/SDL2/SDL_framerate.h;
+    ln -s $out/include/SDL2/SDL2_gfxPrimitives.h $out/include/SDL2/SDL_gfxPrimitives.h;
+    ln -s $out/include/SDL2/SDL2_rotozoom.h $out/include/SDL2/SDL_rotozoom.h;
+    ln -s $out/include/SDL2/*.h $out/include/;
+  '';
+
+  meta = {
+    description = "SDL graphics drawing primitives and support functions";
+
+    longDescription =
+      '' The SDL_gfx library evolved out of the SDL_gfxPrimitives code
+	 which provided basic drawing routines such as lines, circles or
+	 polygons and SDL_rotozoom which implemented a interpolating
+	 rotozoomer for SDL surfaces.
+
+	 The current components of the SDL_gfx library are:
+
+	    * Graphic Primitives (SDL_gfxPrimitves.h)
+	    * Rotozoomer (SDL_rotozoom.h)
+	    * Framerate control (SDL_framerate.h)
+	    * MMX image filters (SDL_imageFilter.h)
+	    * Custom Blit functions (SDL_gfxBlitFunc.h)
+
+	 The library is backwards compatible to the above mentioned
+         code. Its is written in plain C and can be used in C++ code.
+       '';
+
+    homepage = https://sourceforge.net/projects/sdlgfx/;
+    license = "LGPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.bjg ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/SDL2_image/default.nix b/pkgs/development/libraries/SDL2_image/default.nix
new file mode 100644
index 000000000000..73b5ba8d929a
--- /dev/null
+++ b/pkgs/development/libraries/SDL2_image/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, SDL2, libpng, libjpeg, libtiff, libungif, libXpm, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "SDL2_image-2.0.0";
+
+  src = fetchurl {
+    url = "http://www.libsdl.org/projects/SDL_image/release/${name}.tar.gz";
+    sha256 = "0d3jlhkmr0j5a2dd5h6y29jfcsj7mkl16wghm6n3nqqp7g3ib65j";
+  };
+
+  buildInputs = [SDL2 libpng libjpeg libtiff libungif libXpm zlib];
+
+  postInstall = ''
+    sed -i -e 's,"SDL.h",<SDL2/SDL.h>,' \
+      -e 's,"SDL_version.h",<SDL2/SDL_version.h>,' \
+      -e 's,"begin_code.h",<SDL2/begin_code.h>,' \
+      -e 's,"close_code.h",<SDL2/close_code.h>,' \
+      $out/include/SDL2/SDL_image.h
+    ln -sv SDL2/SDL_image.h $out/include/SDL_image.h
+  '';
+
+  meta = {
+    description = "SDL image library";
+    homepage = "http://www.libsdl.org/projects/SDL_image/";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
new file mode 100644
index 000000000000..6d29ddf6eea0
--- /dev/null
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, SDL2, libogg, libvorbis, enableNativeMidi ? false }:
+
+stdenv.mkDerivation rec {
+  name = "SDL2_mixer-2.0.0";
+
+  src = fetchurl {
+    url = "http://www.libsdl.org/projects/SDL_mixer/release/${name}.tar.gz";
+    sha256 = "0nvjdxjchrajrn0jag877hdx9zb788hsd315zzg1lyck2wb0xkm8";
+  };
+
+  buildInputs = [SDL2 libogg libvorbis];
+
+  configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi "--enable-music-native-midi-gpl";
+
+  postInstall = "ln -s $out/include/SDL2/SDL_mixer.h $out/include/";
+
+  meta = {
+    description = "SDL multi-channel audio mixer library";
+  };
+}
diff --git a/pkgs/development/libraries/Xaw3d/default.nix b/pkgs/development/libraries/Xaw3d/default.nix
index a0603b546cf6..454c4e882f56 100644
--- a/pkgs/development/libraries/Xaw3d/default.nix
+++ b/pkgs/development/libraries/Xaw3d/default.nix
@@ -10,4 +10,8 @@ stdenv.mkDerivation {
   patches = [./config.patch ./laylex.patch];
   buildInputs = [x11 imake gccmakedep libXmu libXpm libXp bison flex];
   propagatedBuildInputs = [x11 libXmu];
+
+  meta = {
+    description = "3D widget set based on the Athena Widget set";
+  };
 }
diff --git a/pkgs/development/libraries/a52dec/default.nix b/pkgs/development/libraries/a52dec/default.nix
index 82fef49cfc10..84a87df03e40 100644
--- a/pkgs/development/libraries/a52dec/default.nix
+++ b/pkgs/development/libraries/a52dec/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-fpic";
 
   meta = {
+    description = "ATSC A/52 stream decoder";
     homepage = http://liba52.sourceforge.net/;
   };
 }
diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix
index 2da006a6cebe..897fc9db8de1 100644
--- a/pkgs/development/libraries/aalib/default.nix
+++ b/pkgs/development/libraries/aalib/default.nix
@@ -15,4 +15,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ncurses];
   inherit ncurses;
+
+  meta = {
+    description = "ASCII art graphics library";
+  };
 }
diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix
index 8c24ae6fdbee..59124f011dd4 100644
--- a/pkgs/development/libraries/agg/default.nix
+++ b/pkgs/development/libraries/agg/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib";
 
   meta = {
-    description = "The Anti-Grain Geometry (AGG) library, a high quality rendering engine for C++";
+    description = "High quality rendering engine for C++";
 
     longDescription = ''
       Anti-Grain Geometry (AGG) is an Open Source, free of charge
diff --git a/pkgs/development/libraries/apache-activemq/default.nix b/pkgs/development/libraries/apache-activemq/default.nix
index 90d0dafdd952..d55ff9049eda 100644
--- a/pkgs/development/libraries/apache-activemq/default.nix
+++ b/pkgs/development/libraries/apache-activemq/default.nix
@@ -22,9 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://activemq.apache.org/;
-    description = ''
-      Messaging and Integration Patterns server written in Java.
-    '';
+    description = "Messaging and Integration Patterns server written in Java";
     license = stdenv.lib.licenses.asl20;
   };
 
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index dd8b68717aae..a69cee99b2b6 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   # doesn't expand environment variables such as `$HOME'.
 
   meta = {
-    description = "GNU Aspell, A spell checker for many languages";
+    description = "Spell checker for many languages";
     homepage = http://aspell.net/;
     license = "LGPLv2+";
     maintainers = [ ];
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index f4c33c869112..0c9e998ed2e1 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   postInstall = "rm -rf $out/share/gtk-doc";
 
   meta = {
-    description = "ATK, the accessibility toolkit";
+    description = "Accessibility toolkit";
 
     longDescription = ''
       ATK is the Accessibility Toolkit.  It provides a set of generic
diff --git a/pkgs/development/libraries/attica/default.nix b/pkgs/development/libraries/attica/default.nix
index 87f6c019fb75..3174dc57667d 100644
--- a/pkgs/development/libraries/attica/default.nix
+++ b/pkgs/development/libraries/attica/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   
   meta = with stdenv.lib; {
-    description = "A library to access Open Collaboration Service providers";
+    description = "Library to access Open Collaboration Service providers";
     license = "LGPL";
     maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ];
     inherit (qt4.meta) platforms;
diff --git a/pkgs/development/libraries/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix
index 91d27254aede..abfb3985f261 100644
--- a/pkgs/development/libraries/aubio/default.nix
+++ b/pkgs/development/libraries/aubio/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     ];
 
   meta = { 
-    description = "A library for audio labelling";
+    description = "Library for audio labelling";
     homepage = http://aubio.org/;
     license = "GPLv2";
     maintainers = [ stdenv.lib.maintainers.marcweber ];
diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix
index 2f4de88c94c2..73f38f028145 100644
--- a/pkgs/development/libraries/audiofile/default.nix
+++ b/pkgs/development/libraries/audiofile/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    description = "A library for reading and writing audio files in various formats";
+    description = "Library for reading and writing audio files in various formats";
     homepage    = http://www.68k.org/~michael/audiofile/; 
     license     = licenses.lgpl21Plus;
     maintainers = with maintainers; [ lovek323 shlevy ];
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index f62dc2004476..f4795286e096 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Avahi, an mDNS/DNS-SD implementation";
+    description = "mDNS/DNS-SD implementation";
     homepage    = http://avahi.org;
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
diff --git a/pkgs/development/libraries/bwidget/default.nix b/pkgs/development/libraries/bwidget/default.nix
index 31dc885bc433..17f2b545168e 100644
--- a/pkgs/development/libraries/bwidget/default.nix
+++ b/pkgs/development/libraries/bwidget/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://tcl.activestate.com/software/tcllib/";
-    description = "The BWidget toolkit is a high-level widget set for Tcl/Tk.";
+    description = "High-level widget set for Tcl/Tk";
     license = stdenv.lib.licenses.tcltk;
   };
 }
diff --git a/pkgs/development/libraries/classads/default.nix b/pkgs/development/libraries/classads/default.nix
index 5739690e59a1..080e854315dc 100644
--- a/pkgs/development/libraries/classads/default.nix
+++ b/pkgs/development/libraries/classads/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   
   meta = {
     homepage = http://www.cs.wisc.edu/condor/classad/;
-    description = "The Classified Advertisements library provides a generic means for matching resources.";
+    description = "The Classified Advertisements library provides a generic means for matching resources";
     license = "Apache-2.0";
   };
 }
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index 97c7a4c9f53a..60e8da9c3fc8 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -21,7 +21,17 @@ stdenv.mkDerivation rec {
     ];
 
   meta = {
-    description = "CLucene is a port of the very popular Java Lucene text search engine API. Core package, 2.x branch.";
+    description = "Core library for full-featured text search engine";
+    longDescription = ''
+      CLucene is a high-performance, scalable, cross platform, full-featured,
+      open-source indexing and searching API. Specifically, CLucene is the guts
+      of a search engine, the hard stuff. You write the easy stuff: the UI and
+      the process of selecting and parsing your data files to pump them into
+      the search engine yourself, and any specialized queries to pull it back
+      for display or further processing.
+
+      CLucene is a port of the very popular Java Lucene text search engine API.
+    '';
     homepage = http://clucene.sourceforge.net;
   };
 }
diff --git a/pkgs/development/libraries/clucene-core/default.nix b/pkgs/development/libraries/clucene-core/default.nix
index abd6712736f5..33a789266d48 100644
--- a/pkgs/development/libraries/clucene-core/default.nix
+++ b/pkgs/development/libraries/clucene-core/default.nix
@@ -9,7 +9,17 @@ stdenv.mkDerivation rec {
   };
   
   meta = {
-    description = "CLucene is a port of the very popular Java Lucene text search engine API. Core package.";
+    description = "Core library for full-featured text search engine";
+    longDescription = ''
+      CLucene is a high-performance, scalable, cross platform, full-featured,
+      open-source indexing and searching API. Specifically, CLucene is the guts
+      of a search engine, the hard stuff. You write the easy stuff: the UI and
+      the process of selecting and parsing your data files to pump them into
+      the search engine yourself, and any specialized queries to pull it back
+      for display or further processing.
+
+      CLucene is a port of the very popular Java Lucene text search engine API.
+    '';
     homepage = http://clucene.sourceforge.net;
   };
 }
diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
index 9c3a1a4d6747..abb92f7b08b4 100644
--- a/pkgs/development/libraries/cogl/default.nix
+++ b/pkgs/development/libraries/cogl/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
       render without stepping on each other's toes.
     '';
 
-    inherit (glib.meta) platforms;
+    platforms = stdenv.lib.platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/development/libraries/coin3d/default.nix b/pkgs/development/libraries/coin3d/default.nix
index 5eb93621f416..f866b2299c1f 100644
--- a/pkgs/development/libraries/coin3d/default.nix
+++ b/pkgs/development/libraries/coin3d/default.nix
@@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.coin3d.org/;
     license = "GPLv2+";
-    description = "High-level, retained-mode toolkit for effective 3D graphics development.";
-
+    description = "High-level, retained-mode toolkit for effective 3D graphics development";
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/eventlog/default.nix b/pkgs/development/libraries/eventlog/default.nix
index b1239d6f4cf4..7a8ab8e464b4 100644
--- a/pkgs/development/libraries/eventlog/default.nix
+++ b/pkgs/development/libraries/eventlog/default.nix
@@ -9,7 +9,15 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "A new API to format and send structured log messages.";
+    description = "Syslog event logger library";
+    longDescription = ''
+      The EventLog library aims to be a replacement of the simple syslog() API
+      provided on UNIX systems. The major difference between EventLog and
+      syslog is that EventLog tries to add structure to messages.
+
+      Where you had a simple non-structrured string in syslog() you have a
+      combination of description and tag/value pairs.
+    '';
     homepage = "http://www.balabit.com/support/community/products/";
     license = "BSD";
   };
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index 540c2c61d946..2a7bb1dc31a1 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "http://fox-toolkit.org";
     license = "LGPLv3";
     maintainers = [ stdenv.lib.maintainers.bbenoist ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index ca24db94cd05..f741a0b4f34d 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -2,13 +2,13 @@
 , fetchurl
 }:
 
-let version = "3.0s"; in stdenv.mkDerivation {
+let version = "3.0u"; in stdenv.mkDerivation {
 
   name = "gnu-efi-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnu-efi/gnu-efi_${version}.orig.tar.gz";
-    sha256 = "18bpswzkj81dadq1b7n2s9g0cz60l34ggzxlq21mb8va10j9zmhh";
+    sha256 = "0klkdxh1aqwwfm393q67nxww6liffyp2lfybbnh4q819b06la39w";
   };
 
   meta = {
@@ -34,7 +34,7 @@ let version = "3.0s"; in stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    make INSTALLROOT="$out" install
+    make PREFIX="$out" install
     mkdir -pv $out/share/gnu-efi
     install -D -m644 apps/*.efi $out/share/gnu-efi
   '';
diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix
new file mode 100644
index 000000000000..5a5b6aa94e2b
--- /dev/null
+++ b/pkgs/development/libraries/gnutls/3.2.nix
@@ -0,0 +1,73 @@
+{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
+, guileBindings, guile, perl, gmp }:
+
+assert guileBindings -> guile != null;
+
+stdenv.mkDerivation (rec {
+
+  name = "gnutls-3.2.4";
+
+  src = fetchurl {
+    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz";
+    sha256 = "0zl4h37g51xyaalv3qp2hvn1m6z7xzfw4yvpvi6mby4x5sqrrp8i";
+  };
+
+  # 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"                               \
+      ${if guileBindings
+        then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""
+        else ""}
+  '';
+
+  # 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 = false;
+
+  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 = "LGPLv2.1+";
+    maintainers = [ ];
+  };
+}
+
+//
+
+(stdenv.lib.optionalAttrs stdenv.isFreeBSD {
+  # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
+  patches = [ ./guile-gnulib-includes.patch ];
+}))
diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix
index 28bad546084a..c33457544f5f 100644
--- a/pkgs/development/libraries/gssdp/default.nix
+++ b/pkgs/development/libraries/gssdp/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   buildInputs = [pkgconfig libsoup glib libxml2];
 
   meta = {
-    description = "A GObject-based API for handling resource discovery and announcement over SSDP.";
+    description = "GObject-based API for handling resource discovery and announcement over SSDP";
     homepage = http://www.gupnp.org/;
     license = "LGPL v2";
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/gurobi/default.nix b/pkgs/development/libraries/gurobi/default.nix
new file mode 100644
index 000000000000..4bdee56ae991
--- /dev/null
+++ b/pkgs/development/libraries/gurobi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, requireFile }:
+
+stdenv.mkDerivation {
+  name = "gurobi-5.6.0";
+
+  src = requireFile {
+    name = "gurobi5.6.0_linux64.tar.gz";
+    sha256 = "1qwfjyx5y71x97gkndqnl9h4xc8hl48zwcwss7jagqfj3gxwvnky";
+    url = "http://www.gurobi.com/download/gurobi-optimizer";
+  };
+
+  installPhase = "mv linux64 $out";
+
+  fixupPhase = ''
+    interp=`cat $NIX_GCC/nix-support/dynamic-linker`
+    find $out/bin -type f -executable -exec patchelf --interpreter "$interp" --set-rpath $out/lib {} \;
+  '';
+
+  meta = {
+    description = "State-of-the-art mathematical programming solver";
+    homepage = http://www.gurobi.com/;
+    license = "unfree";
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 4fb024db0e13..1202ab5825d7 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, glib, freetype, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, glib, freetype,
+  icu ? null, graphite2 ? null, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
   name = "harfbuzz-0.9.12";
@@ -8,7 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "19cx5y2m20rp7z5j7mwqfb4ph2g8lrri69zim44x362y4w5gfly6";
   };
 
-  buildInputs = [ pkgconfig glib freetype ] ++ libintlOrEmpty;
+  buildInputs = [ pkgconfig glib freetype ]
+    ++ libintlOrEmpty;
+  propagatedBuildInputs = []
+    ++ (stdenv.lib.optionals (icu != null) [icu])
+    ++ (stdenv.lib.optionals (graphite2 != null) [graphite2])
+    ;
 
   meta = {
     description = "An OpenType text shaping engine";
diff --git a/pkgs/development/libraries/haskell/Cabal/1.18.1.nix b/pkgs/development/libraries/haskell/Cabal/1.18.1.1.nix
index f0792be6ec9f..431c62b85e03 100644
--- a/pkgs/development/libraries/haskell/Cabal/1.18.1.nix
+++ b/pkgs/development/libraries/haskell/Cabal/1.18.1.1.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Cabal";
-  version = "1.18.1";
-  sha256 = "041m3xr8v0bbw0016lnzmnv9xpj15z5pd272j3sbsrwpmcyds3a0";
+  version = "1.18.1.1";
+  sha256 = "1qa6z9kb46hmix15fdjw80jqd69v4rxr52mfq25m8c60l3kxbiny";
   buildDepends = [ deepseq filepath time ];
   testDepends = [
     extensibleExceptions filepath HUnit QuickCheck regexPosix
diff --git a/pkgs/development/libraries/haskell/ChasingBottoms/default.nix b/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
index 719e5eb2cee9..b22272a77033 100644
--- a/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
+++ b/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ChasingBottoms";
-  version = "1.3.0.6";
-  sha256 = "1l40n1ylzrbp0lhm80q9djl8mf39zvmw7zzlg0gzxsqbzwbsggx8";
+  version = "1.3.0.7";
+  sha256 = "0g1bx6d2mi27qsb4bxvby50g39fm56gyi2658fyjiq1gamy50ypa";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl QuickCheck random syb ];
diff --git a/pkgs/development/libraries/haskell/GLFW/default.nix b/pkgs/development/libraries/haskell/GLFW/default.nix
index f204bcdf6554..26a132ae0286 100644
--- a/pkgs/development/libraries/haskell/GLFW/default.nix
+++ b/pkgs/development/libraries/haskell/GLFW/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "GLFW";
-  version = "0.5.1.0";
-  sha256 = "190d75w84y9gayxvdz13dnzpyflc5qy4vdg5iv9p2dpcamcih3km";
+  version = "0.5.2.0";
+  sha256 = "06vps929dmk9yimfv7jj12m0p0bf4ih0ssf6rbcq2j6i9wbhpxq3";
   buildDepends = [ OpenGL ];
   extraLibraries = [ libX11 mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
index 1b52261dea08..09f0b25910b9 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     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";
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
index 2a7bc888c48c..b2947318a1f1 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -1,13 +1,13 @@
-{ cabal, binary, deepseq, mmap, mtl, primitive, transformers
-, vector, zlib
+{ cabal, binary, deepseq, mtl, primitive, transformers, vector
+, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels";
-  version = "3.1";
-  sha256 = "1z3adva85qgdyx85hldqi99lnb3pg7a42q44zxil4gxwi62pw4xr";
+  version = "3.1.1.1";
+  sha256 = "0lvhaa8pqknkcsfps5gcbwiqx0y1rhasiw9hwy7975vgpsh58dph";
   buildDepends = [
-    binary deepseq mmap mtl primitive transformers vector zlib
+    binary deepseq mtl primitive transformers vector zlib
   ];
   meta = {
     homepage = "https://github.com/Twinside/Juicy.Pixels";
diff --git a/pkgs/development/libraries/haskell/accelerate-fft/default.nix b/pkgs/development/libraries/haskell/accelerate-fft/default.nix
index 523e5ae1504c..4e9a75f64eef 100644
--- a/pkgs/development/libraries/haskell/accelerate-fft/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-fft/default.nix
@@ -9,6 +9,6 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/AccelerateHS/accelerate-fft";
     description = "FFT using the Accelerate library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate/default.nix b/pkgs/development/libraries/haskell/accelerate/default.nix
index c2484116f465..b7979f6f5f2a 100644
--- a/pkgs/development/libraries/haskell/accelerate/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.13.0.5";
   sha256 = "1vqkv3k0w1zy0111a786npf3hypbcg675lbdkv2cf3zx5hqcnn6j";
   buildDepends = [ fclabels hashable hashtables ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate/";
     description = "An embedded language for accelerated array processing";
diff --git a/pkgs/development/libraries/haskell/aeson/default.nix b/pkgs/development/libraries/haskell/aeson/default.nix
index bcb202c64d07..edd2a21040e8 100644
--- a/pkgs/development/libraries/haskell/aeson/default.nix
+++ b/pkgs/development/libraries/haskell/aeson/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "aeson";
-  version = "0.6.2.0";
-  sha256 = "1f7bzgwl9pm5a79gr3a8wxh7dyz4k2508d0bw4l0mbjgv6r7s4an";
+  version = "0.6.2.1";
+  sha256 = "00fa13qr38s4c0fwfvpks3x3sb21kh71cv1v0x2zqg0adnaydknb";
   buildDepends = [
     attoparsec blazeBuilder deepseq dlist hashable mtl syb text time
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/bifunctors/default.nix b/pkgs/development/libraries/haskell/bifunctors/default.nix
index c659c3bc3bea..d7c8fa6debb4 100644
--- a/pkgs/development/libraries/haskell/bifunctors/default.nix
+++ b/pkgs/development/libraries/haskell/bifunctors/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "bifunctors";
-  version = "3.2.0.1";
-  sha256 = "1biicx0zi48wzzi7vkhzvrdyk59hmmm1bqbsga6x5nbrbf3qrkm6";
+  version = "4.1.0.1";
+  sha256 = "1mf1v64g5pr2k1jpc7i4994ki2fp5vkxg4n5v84lfbl2r3kr92yg";
   buildDepends = [ semigroupoids semigroups tagged ];
   meta = {
     homepage = "http://github.com/ekmett/bifunctors/";
-    description = "Haskell 98 bifunctors";
+    description = "Bifunctors";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/bindings-DSL/default.nix b/pkgs/development/libraries/haskell/bindings-DSL/default.nix
index 5e4e5d79379e..ed2a631419ab 100644
--- a/pkgs/development/libraries/haskell/bindings-DSL/default.nix
+++ b/pkgs/development/libraries/haskell/bindings-DSL/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bindings-DSL";
-  version = "1.0.19";
-  sha256 = "0mjlv2ld1qdd83pv7khrk3f0g4ypk8a8z79ykp3nwbvlhhi7bp2h";
+  version = "1.0.20";
+  sha256 = "11qc02fkmrpy6c1a85lwlz06m4fpvfpbpbxgv5rkyb1amg2cnklq";
   meta = {
     homepage = "http://bitbucket.org/mauricio/bindings-dsl";
     description = "FFI domain specific language, on top of hsc2hs";
diff --git a/pkgs/development/libraries/haskell/bindings-libusb/default.nix b/pkgs/development/libraries/haskell/bindings-libusb/default.nix
new file mode 100644
index 000000000000..aeea654577a2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bindings-libusb/default.nix
@@ -0,0 +1,15 @@
+{ cabal, bindingsDSL, libusb }:
+
+cabal.mkDerivation (self: {
+  pname = "bindings-libusb";
+  version = "1.4.4.1";
+  sha256 = "1cip5a0n8svjkzawpx3wi9z7nywmn9bl3k2w559b3awy0wixybrx";
+  buildDepends = [ bindingsDSL ];
+  pkgconfigDepends = [ libusb ];
+  meta = {
+    homepage = "https://github.com/basvandijk/bindings-libusb";
+    description = "Low level bindings to libusb";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 0a284cd9ba59..95b990b464b4 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "certificate";
-  version = "1.3.8";
-  sha256 = "1id3jfaisl04n1mjj9lbq3gyz8hyn3r9p9chzmfbra0pcj3vf1m0";
+  version = "1.3.9";
+  sha256 = "18g5rq7lpxmvmlnz610537w6mix6z6kxjrfj2ylbhkc81r5pn9g6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/charset/default.nix b/pkgs/development/libraries/haskell/charset/default.nix
index 9aee9b97afe9..829c35b75632 100644
--- a/pkgs/development/libraries/haskell/charset/default.nix
+++ b/pkgs/development/libraries/haskell/charset/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "charset";
-  version = "0.3.5";
-  sha256 = "0842jdqg7hipgkvax3p4cb2y3znsgcmbj9nfrg2448dg2nanlhsn";
+  version = "0.3.5.1";
+  sha256 = "0bf9s5r2j9bkwmjxzvj5c2c7bhnf5gyh2kkx67lmy8xqalfxgmwn";
   buildDepends = [ semigroups unorderedContainers ];
   meta = {
     homepage = "http://github.com/ekmett/charset";
diff --git a/pkgs/development/libraries/haskell/cipher-aes/default.nix b/pkgs/development/libraries/haskell/cipher-aes/default.nix
index 5fc5905ebb92..d68d2389e0e7 100644
--- a/pkgs/development/libraries/haskell/cipher-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-aes/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-aes";
-  version = "0.2.5";
-  sha256 = "1ayypdfn2nnxp595dpyivmzw2jc4iyjz2in3z7ldccx36gn5j6b3";
+  version = "0.2.6";
+  sha256 = "0ys5a1w5pwwr74k9wzcsh1flb2jdcvnp1zz7sjs14jpxclpd8x3i";
   buildDepends = [ byteable cryptoCipherTypes securemem ];
   testDepends = [
     byteable cryptoCipherTests cryptoCipherTypes QuickCheck
diff --git a/pkgs/development/libraries/haskell/cipher-blowfish/default.nix b/pkgs/development/libraries/haskell/cipher-blowfish/default.nix
index 535a4b97fcad..44a7d96907aa 100644
--- a/pkgs/development/libraries/haskell/cipher-blowfish/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-blowfish/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-blowfish";
-  version = "0.0.2";
-  sha256 = "08jc1qsvnyk7zm7bp0nibkc6lx3bkid79cn1r6fidmccf716r3sp";
+  version = "0.0.3";
+  sha256 = "0hb67gmiyqrknynz5am8nada1b1v47rqla87dw5nvfhxhl51fhcg";
   buildDepends = [ byteable cryptoCipherTypes securemem vector ];
   testDepends = [
     byteable cryptoCipherTests cryptoCipherTypes QuickCheck
diff --git a/pkgs/development/libraries/haskell/cipher-camellia/default.nix b/pkgs/development/libraries/haskell/cipher-camellia/default.nix
index 6d29792ea337..52217751d27a 100644
--- a/pkgs/development/libraries/haskell/cipher-camellia/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-camellia/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-camellia";
-  version = "0.0.1";
-  sha256 = "11narl4h77v7317hdqy8zxhym3k7xrmw97yfwh0vr8k1y5dkiqh3";
+  version = "0.0.2";
+  sha256 = "19z2mi1rvp8fsqjdbmrm1hdlxmx61yr55fyknmmn945qrlvx234d";
   buildDepends = [ byteable cryptoCipherTypes securemem vector ];
   testDepends = [
     byteable cryptoCipherTests cryptoCipherTypes QuickCheck
diff --git a/pkgs/development/libraries/haskell/cipher-des/default.nix b/pkgs/development/libraries/haskell/cipher-des/default.nix
index 0340372d54b7..16b953c10bd6 100644
--- a/pkgs/development/libraries/haskell/cipher-des/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-des/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-des";
-  version = "0.0.4";
-  sha256 = "18xpc7v0xyh0qb7p03ail1lyh376h1vg000xn22b5shpgp5kxiqq";
+  version = "0.0.5";
+  sha256 = "1j4nbmxdc3nb5q9gqmwp40dj7pdy71135kvhvl7dfh6mb18bk22v";
   buildDepends = [ byteable cryptoCipherTypes securemem ];
   testDepends = [
     byteable cryptoCipherTests cryptoCipherTypes QuickCheck
diff --git a/pkgs/development/libraries/haskell/cipher-rc4/default.nix b/pkgs/development/libraries/haskell/cipher-rc4/default.nix
index 038e0dd3292d..6485487a0e58 100644
--- a/pkgs/development/libraries/haskell/cipher-rc4/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-rc4/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-rc4";
-  version = "0.1.3";
-  sha256 = "1pdkm7m3v8c7wks7asvqixxjk9jixf78n489ckmw10p77wrqby78";
+  version = "0.1.4";
+  sha256 = "0k9qf0cn5yxc4qlqikcm5yyrnkkvr6g3v7306cp8iwz7r4dp6zn6";
   buildDepends = [ byteable cryptoCipherTypes ];
   testDepends = [
     cryptoCipherTests cryptoCipherTypes QuickCheck testFramework
diff --git a/pkgs/development/libraries/haskell/citeproc-hs/default.nix b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
index 573c5085b109..bdc78984c7bd 100644
--- a/pkgs/development/libraries/haskell/citeproc-hs/default.nix
+++ b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "citeproc-hs";
-  version = "0.3.8";
-  sha256 = "0wlfwjxg852qcgx54m99xm7hxsmcw8c8r7fyrsxyxl3054xnfwz8";
+  version = "0.3.9";
+  sha256 = "0f3l33a3rcp8lm8nkbda42lijjpaqa7cxszswhjryy1inywpsssg";
   buildDepends = [
     filepath hexpat hsBibutils HTTP json mtl network pandocTypes parsec
     syb time utf8String
diff --git a/pkgs/development/libraries/haskell/comonad-transformers/default.nix b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
index ef0ffe061985..912b36057c0a 100644
--- a/pkgs/development/libraries/haskell/comonad-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
@@ -1,18 +1,13 @@
-{ cabal, comonad, contravariant, distributive, semigroupoids
-, semigroups, transformers
-}:
+{ cabal, comonad }:
 
 cabal.mkDerivation (self: {
   pname = "comonad-transformers";
-  version = "3.1";
-  sha256 = "024l437xfi0bkbn3121xi8slwsh9jby9a92qg1m5y0nmxzs9lxda";
-  buildDepends = [
-    comonad contravariant distributive semigroupoids semigroups
-    transformers
-  ];
+  version = "4.0";
+  sha256 = "13zzp6r6s6c80skniphwvzxhpazbyal5854m53139kgcw560rv6z";
+  buildDepends = [ comonad ];
   meta = {
     homepage = "http://github.com/ekmett/comonad-transformers/";
-    description = "Comonad transformers";
+    description = "This package has been merged into comonad 4.0";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/comonad/default.nix b/pkgs/development/libraries/haskell/comonad/default.nix
index 472e4e315c1c..9457a2ad44dc 100644
--- a/pkgs/development/libraries/haskell/comonad/default.nix
+++ b/pkgs/development/libraries/haskell/comonad/default.nix
@@ -1,14 +1,18 @@
-{ cabal, doctest, filepath, semigroups, tagged, transformers }:
+{ cabal, contravariant, distributive, doctest, filepath, mtl
+, semigroups, tagged, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "comonad";
-  version = "3.1";
-  sha256 = "0sl9b3f1vwpjdvnrxv7b8n512w05pv4in6qx3l4sbksdp1zjvcyv";
-  buildDepends = [ semigroups tagged transformers ];
+  version = "4.0";
+  sha256 = "1f57wqxy1la59kippbj924prnj53a5hwc2ppg48n9xx2wfr63iha";
+  buildDepends = [
+    contravariant distributive mtl semigroups tagged transformers
+  ];
   testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/comonad/";
-    description = "Haskell 98 compatible comonads";
+    description = "Comonads";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/comonads-fd/default.nix b/pkgs/development/libraries/haskell/comonads-fd/default.nix
index aac28ff08711..f55123f8fe18 100644
--- a/pkgs/development/libraries/haskell/comonads-fd/default.nix
+++ b/pkgs/development/libraries/haskell/comonads-fd/default.nix
@@ -1,17 +1,14 @@
-{ cabal, comonad, comonadTransformers, mtl, semigroups
-, transformers
-}:
+{ cabal, comonad }:
 
 cabal.mkDerivation (self: {
   pname = "comonads-fd";
-  version = "3.0.3";
-  sha256 = "06x545yq5xc3kphjipkgjrgrfvvkjpy0wji9d5fw44ca91nzglww";
-  buildDepends = [
-    comonad comonadTransformers mtl semigroups transformers
-  ];
+  version = "4.0";
+  sha256 = "19xpv0dsz7w3a1sq1gdxwzglfal45vj2s22zb12g9mpk5rp3hw1s";
+  buildDepends = [ comonad ];
+  noHaddock = true;
   meta = {
     homepage = "http://github.com/ekmett/comonads-fd/";
-    description = "Comonad transformers using functional dependencies";
+    description = "This package has been merged into comonad 4.0";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index 0e1757f7b507..ab41f5a5621d 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.0.7.4";
-  sha256 = "1bvi9gw9sfi1fml339rn3cfq4i3yd9j9vw41p5cpz5pnv3gw225x";
+  version = "1.0.8";
+  sha256 = "0qsi9p7hwzaw1ridgydfmaagjjpkbgq755b1r9xm4apdy6fikcz5";
   buildDepends = [
     liftedBase mmorph monadControl mtl resourcet text transformers
     transformersBase void
diff --git a/pkgs/development/libraries/haskell/connection/default.nix b/pkgs/development/libraries/haskell/connection/default.nix
new file mode 100644
index 000000000000..a7930cab08b3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/connection/default.nix
@@ -0,0 +1,18 @@
+{ cabal, certificate, cprngAes, dataDefault, network, socks, tls
+, tlsExtra
+}:
+
+cabal.mkDerivation (self: {
+  pname = "connection";
+  version = "0.1.3";
+  sha256 = "13bwlbga612kc7g3m3rrdzbdv4w0glp4af9r6crwgjsmxgimrgs9";
+  buildDepends = [
+    certificate cprngAes dataDefault network socks tls tlsExtra
+  ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-connection";
+    description = "Simple and easy network connections API";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/constraints/default.nix b/pkgs/development/libraries/haskell/constraints/default.nix
index 87ec5d82724b..e57b4e6c085b 100644
--- a/pkgs/development/libraries/haskell/constraints/default.nix
+++ b/pkgs/development/libraries/haskell/constraints/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "constraints";
-  version = "0.3.3";
-  sha256 = "0mglqd6l6bc333i7gymbm8q037hj5fny6jzyg1zmw5kg6r3xcwdi";
+  version = "0.3.4.1";
+  sha256 = "13jxh2cgcfyiqhx7j5063k8k60wz9h4hd5lf2mw2skbcryg6csmb";
   buildDepends = [ newtype ];
   meta = {
     homepage = "http://github.com/ekmett/constraints/";
diff --git a/pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix b/pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix
index 752ef8fdf9e4..ed071bbc92a6 100644
--- a/pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-cipher-tests/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-cipher-tests";
-  version = "0.0.8";
-  sha256 = "0bprv2pj3acq97482wsz1pp76rrdvvy5scv4na8aqfsdsglbjq47";
+  version = "0.0.10";
+  sha256 = "1gmhpk1pdc9axkmpw9fyr1zgv6pskyzzlsq8icp2w4fc83l61smb";
   buildDepends = [
     byteable cryptoCipherTypes HUnit mtl QuickCheck securemem
     testFramework testFrameworkHunit testFrameworkQuickcheck2
diff --git a/pkgs/development/libraries/haskell/crypto-cipher-types/default.nix b/pkgs/development/libraries/haskell/crypto-cipher-types/default.nix
index 2dc863602415..70e61054137f 100644
--- a/pkgs/development/libraries/haskell/crypto-cipher-types/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-cipher-types/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-cipher-types";
-  version = "0.0.6";
-  sha256 = "1gw3nmf242fbmwhpwk1v1sxhvw1dcy9l06aj6ag0wqb12qn2bqmg";
+  version = "0.0.7";
+  sha256 = "1zvlc88c4w4rhj1imx3w3j3f4b6im9sj78fgwwyzwmn14mn1y6l8";
   buildDepends = [ byteable securemem ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-cipher";
diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix
index d598b3639339..839bf4518a19 100644
--- a/pkgs/development/libraries/haskell/cryptohash/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash/default.nix
@@ -4,11 +4,11 @@
 
 cabal.mkDerivation (self: {
   pname = "cryptohash";
-  version = "0.10.0";
-  sha256 = "0szvx1dxf16chlksmp08g9qxy7f87w6hspigwbw78aygc3q9mzaq";
+  version = "0.11.1";
+  sha256 = "0ww7bikl8i50m1pwkqp145bfsiy07npnjw48j3il4w2ia0b3axmy";
   buildDepends = [ byteable ];
   testDepends = [
-    HUnit QuickCheck testFramework testFrameworkHunit
+    byteable HUnit QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/cufft/default.nix b/pkgs/development/libraries/haskell/cufft/default.nix
index 76039f065488..213072b5cdfc 100644
--- a/pkgs/development/libraries/haskell/cufft/default.nix
+++ b/pkgs/development/libraries/haskell/cufft/default.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     homepage = "http://github.com/robeverest/cufft";
     description = "Haskell bindings for the CUFFT library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/distributive/default.nix b/pkgs/development/libraries/haskell/distributive/default.nix
index d40952024ef2..d03257f54d34 100644
--- a/pkgs/development/libraries/haskell/distributive/default.nix
+++ b/pkgs/development/libraries/haskell/distributive/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "distributive";
-  version = "0.3.1";
-  sha256 = "0zf3wq1xz9sbb0g6fg852jckrwkffsfkghq3zx03d2q9ginc6jbc";
+  version = "0.3.2";
+  sha256 = "1n2xnjffrbfw736qn9w5fxy4pjl2319yhimkglhbayq85pz51r1h";
   buildDepends = [ transformers transformersCompat ];
   testDepends = [ doctest filepath ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix
index 67c1962cbe9c..93dfd043c907 100644
--- a/pkgs/development/libraries/haskell/either/default.nix
+++ b/pkgs/development/libraries/haskell/either/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "either";
-  version = "3.4.1";
-  sha256 = "1cq4glqhxz9k8fxf0dc8b6hcxxfn4yci6h7wmfkmkfq5ca61ax1b";
+  version = "4.0";
+  sha256 = "07axaq43cqyglndr5az7ns4mvkjmybq6z8s32l1jxc5x7532scwr";
   buildDepends = [
     MonadRandom mtl semigroupoids semigroups transformers
   ];
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index 17409f05eed5..f2154ddddf7b 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "entropy";
-  version = "0.2.2.2";
-  sha256 = "1xkpfi6njj5iqwn5wa6npyzxksj9hr0xqbxrslg646whxrkd8718";
+  version = "0.2.2.4";
+  sha256 = "1cjmpb0rh1ib4j9mwmf1irn401vmjawxkshxdmmb4643rmcgx1gm";
   meta = {
     homepage = "https://github.com/TomMD/entropy";
     description = "A platform independent entropy source";
diff --git a/pkgs/development/libraries/haskell/enumerator/default.nix b/pkgs/development/libraries/haskell/enumerator/default.nix
index 5b44c9efc62a..4dfa4e573dd9 100644
--- a/pkgs/development/libraries/haskell/enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/enumerator/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "enumerator";
-  version = "0.4.19";
-  sha256 = "1avxy55vbvkz6yj512bkb2b986y3m0b28c9c5lfc3wd2na7w1s5g";
+  version = "0.4.20";
+  sha256 = "02a75dggj295zkhgjry5cb43s6y6ydpjb5w6vgl7kd9b6ma11qik";
   buildDepends = [ text transformers ];
   meta = {
     homepage = "https://john-millikin.com/software/enumerator/";
diff --git a/pkgs/development/libraries/haskell/errors/default.nix b/pkgs/development/libraries/haskell/errors/default.nix
index d15ac59febab..be061cfb4433 100644
--- a/pkgs/development/libraries/haskell/errors/default.nix
+++ b/pkgs/development/libraries/haskell/errors/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "1.4.2";
   sha256 = "1csry8bbz7r4gc7x3lf1ih10rvnig2i91nfij227p9744yndl2xw";
   buildDepends = [ either safe transformers ];
+  jailbreak = true;
   meta = {
     description = "Simplified error-handling";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index 71a3fe8d0c23..cea3302cf58c 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "fclabels";
-  version = "1.1.7.1";
-  sha256 = "1f34r3bzn1cbba8d5d1j3wxrlrrj5vf09hpgd6ppina91wyj4dyn";
+  version = "2.0";
+  sha256 = "1zh8hr0nq7vnp0q5yf0qd4sbxpaq67l15gs1rvssxfj6n738kngq";
   buildDepends = [ mtl transformers ];
   meta = {
     homepage = "https://github.com/sebastiaanvisser/fclabels";
-    description = "First class accessor labels";
+    description = "First class accessor labels implemented as lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix
index 2eb9ac94d8c3..3d7015d7ec20 100644
--- a/pkgs/development/libraries/haskell/file-embed/default.nix
+++ b/pkgs/development/libraries/haskell/file-embed/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "file-embed";
-  version = "0.0.4.9";
-  sha256 = "128z3jwxn6d13dkrfjx7maxgmax8bfgr8n2jfhqg3rvv4ryjnqv2";
+  version = "0.0.5";
+  sha256 = "0s77g7azw73f7d07hvwwps8sx79jpwj8ap9iqzcglyjw1sw4l1n1";
   buildDepends = [ filepath ];
   testDepends = [ filepath HUnit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix
index 56bf80d71af4..64d9541f4019 100644
--- a/pkgs/development/libraries/haskell/free/default.nix
+++ b/pkgs/development/libraries/haskell/free/default.nix
@@ -1,15 +1,14 @@
-{ cabal, bifunctors, comonad, comonadsFd, comonadTransformers
-, distributive, mtl, profunctors, semigroupoids, semigroups
-, transformers
+{ cabal, bifunctors, comonad, distributive, mtl, profunctors
+, semigroupoids, semigroups, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "free";
-  version = "3.4.2";
-  sha256 = "1x6pdkcxk6z9ndph2yzz5n21afc2330m0ryv4w67jsss5aa69fwb";
+  version = "4.1";
+  sha256 = "16951r4f7ggvcw2qgjwdrmaxxnrmrm69c67nixs77lm1d31nks4w";
   buildDepends = [
-    bifunctors comonad comonadsFd comonadTransformers distributive mtl
-    profunctors semigroupoids semigroups transformers
+    bifunctors comonad distributive mtl profunctors semigroupoids
+    semigroups transformers
   ];
   meta = {
     homepage = "http://github.com/ekmett/free/";
diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
index 3504e79d54b7..977a15d28e06 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-mod";
-  version = "3.1.2";
-  sha256 = "164ldbdvr2qrnb9sq0d9y35la4fzwn6x43xqdsi1s10dppckczlm";
+  version = "3.1.3";
+  sha256 = "0g12cj8yn2znhqi7wiz5jayzh4g5jdcj1qwy5g3pz456hcpb0jig";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/groupoids/default.nix b/pkgs/development/libraries/haskell/groupoids/default.nix
index 4c085c0ae23b..7697e8e369f9 100644
--- a/pkgs/development/libraries/haskell/groupoids/default.nix
+++ b/pkgs/development/libraries/haskell/groupoids/default.nix
@@ -2,12 +2,13 @@
 
 cabal.mkDerivation (self: {
   pname = "groupoids";
-  version = "3.0.1.1";
-  sha256 = "0r4xjyq7icd52nas27bhr5k8q7li6lba8mlkcipghhsgxsyjfp63";
+  version = "4.0";
+  sha256 = "08la44c19pz2clws5mb939zc1d17cb6qy9qlh2n1634pl0zrawb6";
   buildDepends = [ semigroupoids ];
+  noHaddock = true;
   meta = {
     homepage = "http://github.com/ekmett/groupoids/";
-    description = "Haskell 98 Groupoids";
+    description = "This package has been absorbed into semigroupoids 4.0";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 0197bc4d142e..27f3d6629d5c 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -1,38 +1,34 @@
-{ cabal, binary, blazeHtml, blazeMarkup, pandocCiteproc, cmdargs
-, cryptohash, dataDefault, deepseq, filepath, fsnotify, httpConduit
-, httpTypes, HUnit, lrucache, mtl, network, pandoc, parsec
+{ 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, fetchurl
+, testFrameworkQuickcheck2, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.3.3.0";
-  sha256 = "11zfz55a7dr5l7xzknphqninyrb2pw2qmrs7v7ajq2gvbl0lf37n";
+  version = "4.4.1.0";
+  sha256 = "17bns61l5d0h8qyhbz5gnc4j9yjjajk57whp0j4gfshaq0s2aif9";
   isLibrary = true;
   isExecutable = true;
-  patches = [ (fetchurl { url = "https://github.com/jaspervdj/hakyll/pull/183.patch";
-                          sha256 = "0vjrxvgyc05nnshapjhk65pcamj9rigqff5q6wjbssx3ggqggrz9";
-                          name = "hakyll-pandoc-fix.patch";
-                        }) ];
   buildDepends = [
-    binary blazeHtml blazeMarkup pandocCiteproc cmdargs cryptohash
-    dataDefault deepseq filepath fsnotify httpConduit httpTypes
-    lrucache mtl network pandoc parsec random regexBase regexTdfa
-    snapCore snapServer systemFilepath tagsoup text time
+    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
   ];
   testDepends = [
-    binary blazeHtml blazeMarkup pandocCiteproc cmdargs cryptohash
-    dataDefault deepseq filepath fsnotify httpConduit httpTypes HUnit
-    lrucache mtl network pandoc parsec QuickCheck random regexBase
-    regexTdfa snapCore snapServer systemFilepath tagsoup testFramework
+    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
   ];
-  doCheck = false;
-  postPatch = ''
+  patchPhase = ''
     sed -i -e 's|cryptohash.*,|cryptohash,|' -e 's|tagsoup.*,|tagsoup,|' hakyll.cabal
   '';
+  doCheck = false;
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
     description = "A static website compiler library";
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index c29672767a6b..b40025ff7166 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hamlet";
-  version = "1.1.7.2";
-  sha256 = "1pfpygbabfmgx01vjkxhf3p9map2v7x8jys06jd6qgc4j90dnk1c";
+  version = "1.1.7.3";
+  sha256 = "0532gf4xdbjxjpv7gsfv0bapnnb4g81jcfzkn71nwizi8zls3qck";
   buildDepends = [
     blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare text
   ];
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index f58e4ba2d3d1..e12d848f00f9 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "7.3.0";
-  sha256 = "094q6m6a4cxwmmw9hin2pphiq8gi0y4ma4vkvqv7rwqnn3mf9n0q";
+  version = "7.3.1";
+  sha256 = "0yk4ylyyc8pz7j5lxibah356f986w932ncxp4y612rqcd0abzrq4";
   buildDepends = [
     base64Bytestring blazeHtml extensibleExceptions filepath hslogger
     html monadControl mtl network parsec sendfile syb systemFilepath
diff --git a/pkgs/development/libraries/haskell/hashtables/default.nix b/pkgs/development/libraries/haskell/hashtables/default.nix
index ae62c051ec5e..ca0e2e529c56 100644
--- a/pkgs/development/libraries/haskell/hashtables/default.nix
+++ b/pkgs/development/libraries/haskell/hashtables/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hashtables";
-  version = "1.1.0.2";
-  sha256 = "0d103cvr168hgyghm6fp67r4lz1p592x45igwld6xq3nyxjxnbp9";
+  version = "1.1.2.1";
+  sha256 = "1166baqalpp9v735821drjvyasr44p4znbcs7njyr09fx87r23f5";
   buildDepends = [ hashable primitive vector ];
   meta = {
     homepage = "http://github.com/gregorycollins/hashtables";
diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
index 7c9e76940462..6ce8f9e72ba2 100644
--- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskell-src-meta";
-  version = "0.6.0.3";
-  sha256 = "1ag26pzppvqw9ch6jz1p0bhsld7fz0b01k7h9516hnmy215h7xai";
+  version = "0.6.0.4";
+  sha256 = "10dixf2abk0canwikf3wdp1ahc51400wxa7x4g59pygv8a3c1c1x";
   buildDepends = [ haskellSrcExts syb thOrphans uniplate ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix
index a5aaf44c3928..26ebbb9f8b02 100644
--- a/pkgs/development/libraries/haskell/haxr/default.nix
+++ b/pkgs/development/libraries/haskell/haxr/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haxr";
-  version = "3000.9.3";
-  sha256 = "1jg7abgbykxjjpmakmfm6zcwxn0hf9q53430ibr4m9n6alh7nglq";
+  version = "3000.10.1.1";
+  sha256 = "0qvbl3bms2mf650w9j3r0pnl151vzkggy2if3f4rj34qwb2sxmvp";
   buildDepends = [
     base64Bytestring blazeBuilder HaXml HTTP mtl network time
     utf8String
diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix
index c39a1fc24a8c..b8f709a402cb 100644
--- a/pkgs/development/libraries/haskell/heist/default.nix
+++ b/pkgs/development/libraries/haskell/heist/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "heist";
-  version = "0.13.0.1";
-  sha256 = "1hxf131xhvsqbvmrm8wbjpndy41pz1lq65gqlk3lxr57dhi59s4w";
+  version = "0.13.0.2";
+  sha256 = "0rbzizgrvwj505dk7qyc9ky5vwyaxyj91xz1dsv0mv7cjl9pp17n";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors
     filepath hashable MonadCatchIOTransformers mtl random text time
diff --git a/pkgs/development/libraries/haskell/hflags/default.nix b/pkgs/development/libraries/haskell/hflags/default.nix
index f65520da532d..04e70183781d 100644
--- a/pkgs/development/libraries/haskell/hflags/default.nix
+++ b/pkgs/development/libraries/haskell/hflags/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hflags";
-  version = "0.3";
-  sha256 = "113pqdjnxfhkk95969ia393n1jvbbnfljsz42vfapgzvd8f1fci2";
+  version = "0.4";
+  sha256 = "17zzx273kmnwwazmmns78cllz3l7wad1gi7hizgcxi68j04blhd4";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/errge/hflags";
diff --git a/pkgs/development/libraries/haskell/hjsmin/default.nix b/pkgs/development/libraries/haskell/hjsmin/default.nix
index 9551581dadf6..5980141526b0 100644
--- a/pkgs/development/libraries/haskell/hjsmin/default.nix
+++ b/pkgs/development/libraries/haskell/hjsmin/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hjsmin";
-  version = "0.1.4.1";
-  sha256 = "0r73hd6kn37mdbm2i3g6v3qqm696kyflqs6ajq68qr5sr62sjb1a";
+  version = "0.1.4.3";
+  sha256 = "1jhpqfvwvzik41i4mi9fr9w1jlrlc1lj2illlbbwg7r3fwr5hnnl";
   buildDepends = [ blazeBuilder languageJavascript text ];
   testDepends = [
     blazeBuilder Cabal HUnit languageJavascript QuickCheck
diff --git a/pkgs/development/libraries/haskell/hslua/default.nix b/pkgs/development/libraries/haskell/hslua/default.nix
index e953eb74711d..ebccbf963fed 100644
--- a/pkgs/development/libraries/haskell/hslua/default.nix
+++ b/pkgs/development/libraries/haskell/hslua/default.nix
@@ -1,10 +1,12 @@
-{ cabal, mtl }:
+{ cabal, lua, mtl }:
 
 cabal.mkDerivation (self: {
   pname = "hslua";
-  version = "0.3.6.1";
-  sha256 = "0c60gnf0mp6kx2z2149icl7hdwvigibvxd091a3vc6zkl5c5r41p";
+  version = "0.3.7";
+  sha256 = "1q5s2b7x9idvdvp31yl86mmy476gfq6rg8f0r8faqxrm45jwgv2q";
   buildDepends = [ mtl ];
+  pkgconfigDepends = [ lua ];
+  configureFlags = "-fsystem-lua";
   meta = {
     description = "A Lua language interpreter embedding in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/intervals/default.nix b/pkgs/development/libraries/haskell/intervals/default.nix
index 3cc44b05dbb5..9a270574570e 100644
--- a/pkgs/development/libraries/haskell/intervals/default.nix
+++ b/pkgs/development/libraries/haskell/intervals/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "intervals";
-  version = "0.2.2";
-  sha256 = "059xmk373xz6nwk61iyhx4d7xd328jxb694qmq9plry3k77mdh5q";
+  version = "0.2.2.1";
+  sha256 = "0kbsms3742ppmzbmrfp94aq4wvwrayx5ppsyk7pd1mj7y47aay0f";
   buildDepends = [ numericExtras ];
   meta = {
     homepage = "http://github.com/ekmett/intervals";
diff --git a/pkgs/development/libraries/haskell/keys/default.nix b/pkgs/development/libraries/haskell/keys/default.nix
index 80a61b5b5be4..b657f3dd6b94 100644
--- a/pkgs/development/libraries/haskell/keys/default.nix
+++ b/pkgs/development/libraries/haskell/keys/default.nix
@@ -1,14 +1,11 @@
-{ cabal, comonadsFd, comonadTransformers, free, semigroupoids
-, semigroups, transformers
-}:
+{ cabal, comonad, free, semigroupoids, semigroups, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "keys";
-  version = "3.0.3";
-  sha256 = "1fqw0745pj8pzjjlrbg85gdr3acm7gpip5052m9wcz997949ca3r";
+  version = "3.10";
+  sha256 = "1s2xkzvaqk507wrgabpxli8g8n83arflmdhxq40f7qkvyflhhmyh";
   buildDepends = [
-    comonadsFd comonadTransformers free semigroupoids semigroups
-    transformers
+    comonad free semigroupoids semigroups transformers
   ];
   meta = {
     homepage = "http://github.com/ekmett/keys/";
diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix
index cdccc4768e0f..60aa29ac089a 100644
--- a/pkgs/development/libraries/haskell/lens/default.nix
+++ b/pkgs/development/libraries/haskell/lens/default.nix
@@ -1,23 +1,21 @@
-{ cabal, bifunctors, comonad, comonadsFd, comonadTransformers
-, contravariant, deepseq, distributive, doctest, filepath
-, genericDeriving, hashable, HUnit, MonadCatchIOTransformers, mtl
-, nats, parallel, profunctorExtras, profunctors, QuickCheck
-, reflection, semigroupoids, semigroups, simpleReflect, split
-, tagged, testFramework, testFrameworkHunit
+{ cabal, bifunctors, comonad, contravariant, deepseq, distributive
+, doctest, filepath, genericDeriving, hashable, HUnit
+, MonadCatchIOTransformers, mtl, nats, parallel, profunctors
+, QuickCheck, reflection, semigroupoids, semigroups, simpleReflect
+, split, tagged, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2, testFrameworkTh, text, transformers
 , transformersCompat, unorderedContainers, vector, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "lens";
-  version = "3.9.2";
-  sha256 = "17pc0waf3g6dxvmvyxkgh8kz22iscd9z00s67rcn0p604swprj2k";
+  version = "3.10";
+  sha256 = "086kbd59zlx3ldrxilssxd0gr9izwhcfhg5k6bqzm6gwvysrzq3y";
   buildDepends = [
-    bifunctors comonad comonadsFd comonadTransformers contravariant
-    distributive filepath genericDeriving hashable
-    MonadCatchIOTransformers mtl parallel profunctorExtras profunctors
-    reflection semigroupoids semigroups split tagged text transformers
-    transformersCompat unorderedContainers vector void
+    bifunctors comonad contravariant distributive filepath
+    genericDeriving hashable MonadCatchIOTransformers mtl parallel
+    profunctors reflection semigroupoids semigroups split tagged text
+    transformers transformersCompat unorderedContainers vector void
   ];
   testDepends = [
     deepseq doctest filepath genericDeriving HUnit mtl nats parallel
diff --git a/pkgs/development/libraries/haskell/llvm-general/3.3.5.nix b/pkgs/development/libraries/haskell/llvm-general/3.3.5.nix
deleted file mode 100644
index 16d9859aae22..000000000000
--- a/pkgs/development/libraries/haskell/llvm-general/3.3.5.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ cabal, HUnit, llvmConfig, mtl, parsec, QuickCheck, setenv
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
-, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "llvm-general";
-  version = "3.3.5.0";
-  sha256 = "15zrav7339jn6p75g1d7h3qkr1wyal1jzfs8xy73kckw2fzn4nlf";
-  buildDepends = [ mtl parsec setenv text transformers ];
-  testDepends = [
-    HUnit mtl QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
-  buildTools = [ llvmConfig ];
-  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/3.3.8.2.nix b/pkgs/development/libraries/haskell/llvm-general/default.nix
index 2eb0a2c5d206..2eb0a2c5d206 100644
--- a/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix
+++ b/pkgs/development/libraries/haskell/llvm-general/default.nix
diff --git a/pkgs/development/libraries/haskell/math-functions/default.nix b/pkgs/development/libraries/haskell/math-functions/default.nix
index 2e29269a9fdf..8180c8bce753 100644
--- a/pkgs/development/libraries/haskell/math-functions/default.nix
+++ b/pkgs/development/libraries/haskell/math-functions/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "math-functions";
-  version = "0.1.3.0";
-  sha256 = "06wxr8fbhmsgkpyx2vimx9l6apk0p27mwrxrvbjk0b7m9vsg3ay5";
+  version = "0.1.4.0";
+  sha256 = "1cijm224gfvd7rvrrndcks8d7aj89c9qv0m4wx2qqngr7rk78kav";
   buildDepends = [ erf vector ];
   testDepends = [
     HUnit ieee754 QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix
index 2d6b846e7066..d26980994e71 100644
--- a/pkgs/development/libraries/haskell/mwc-random/default.nix
+++ b/pkgs/development/libraries/haskell/mwc-random/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mwc-random";
-  version = "0.13.0.0";
-  sha256 = "16f8dd81wj81h0jcqnrlr2d6mjc7q2r436qf8z320d6wpzih2djy";
+  version = "0.13.1.0";
+  sha256 = "16g6b1pphr4p36nn5qjj62iwf47rq8kfmpjgfvd35r3cz9qqb8cb";
   buildDepends = [ primitive time vector ];
   testDepends = [
     HUnit QuickCheck statistics testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
index bfb96e304802..415c047a2f53 100644
--- a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
+++ b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
@@ -1,16 +1,17 @@
-{ cabal, aeson, certificate, conduit, cprngAes, cryptoApi
-, cryptoRandomApi, network, networkConduit, pem, systemFileio
-, systemFilepath, tls, tlsExtra, transformers
+{ cabal, aeson, certificate, conduit, connection, cprngAes
+, cryptoApi, cryptoRandomApi, dataDefault, monadControl, network
+, networkConduit, pem, systemFileio, systemFilepath, tls, tlsExtra
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "network-conduit-tls";
-  version = "1.0.1.1";
-  sha256 = "0v5rspcjhd2vid5i74dy1sdcvci7dlr88sgr0v9vjp4gcyb29qlj";
+  version = "1.0.2";
+  sha256 = "0m3sbb4vpsjf568zaaxri8x7x46wngf5y2s5chgjzfmbj0amkl51";
   buildDepends = [
-    aeson certificate conduit cprngAes cryptoApi cryptoRandomApi
-    network networkConduit pem systemFileio systemFilepath tls tlsExtra
-    transformers
+    aeson certificate conduit connection cprngAes cryptoApi
+    cryptoRandomApi dataDefault monadControl network networkConduit pem
+    systemFileio systemFilepath tls tlsExtra transformers
   ];
   meta = {
     homepage = "https://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/network/2.4.2.0.nix b/pkgs/development/libraries/haskell/network/2.4.2.0.nix
new file mode 100644
index 000000000000..2912138daf7c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network/2.4.2.0.nix
@@ -0,0 +1,20 @@
+{ cabal, HUnit, parsec, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "network";
+  version = "2.4.2.0";
+  sha256 = "1v6iwww8xym0sr2593ri0aa6gcs6n2975fi9gaz9n7rizbqm88qs";
+  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;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/numbers/default.nix b/pkgs/development/libraries/haskell/numbers/default.nix
index 81a3e866dc01..26ed2d77bd0f 100644
--- a/pkgs/development/libraries/haskell/numbers/default.nix
+++ b/pkgs/development/libraries/haskell/numbers/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "numbers";
-  version = "3000.1.0.3";
-  sha256 = "0w2m2m3vp3lpvnc7wkw6pqfz741a68dma4s0asl7cryykwf94xgz";
+  version = "3000.2.0.0";
+  sha256 = "035qc7dgh4nd661z4mm742v8y7xqdyyp0r0vkinxiifciqb1fkbm";
   testDepends = [
     QuickCheck testFramework testFrameworkQuickcheck2
   ];
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
index a3ab241b28ca..44917d01c003 100644
--- a/pkgs/development/libraries/haskell/optparse-applicative/default.nix
+++ b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "optparse-applicative";
-  version = "0.5.2.1";
-  sha256 = "0w4mk851mx8dch8lnck0g82asmzrsc47xrf34jygh0f6v4kbj40i";
+  version = "0.6.0";
+  sha256 = "07wzsgwym0g6qd39jvgp6ndpqdn2w0c4sn9mcz19rqlb2am24ip8";
   buildDepends = [ transformers ];
   testDepends = [
     HUnit testFramework testFrameworkHunit testFrameworkThPrime
diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
index 2c4776870960..4960e16202ec 100644
--- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
@@ -1,21 +1,21 @@
 { cabal, aeson, aesonPretty, attoparsec, Diff, filepath, hexpat
-, hsBibutils, HTTP, json, mtl, network, pandocTypes, parsec
-, rfc5051, syb, tagsoup, texmath, text, time, utf8String, vector
-, yaml
+, hsBibutils, HTTP, json, mtl, network, pandoc, pandocTypes, parsec
+, rfc5051, split, syb, tagsoup, texmath, text, time, utf8String
+, vector, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc-citeproc";
-  version = "0.1.1.1";
-  sha256 = "07h277cz5wzc2dsfqfh9lasz7ypb4pspvqljs9maj6lx5rkk5fq1";
+  version = "0.1.2";
+  sha256 = "055msvrcqjkijkhzws48scpc4z90g0qjjsdcd0fhy309da6vax57";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson attoparsec filepath hexpat hsBibutils HTTP json mtl network
-    pandocTypes parsec rfc5051 syb tagsoup texmath text time utf8String
-    vector yaml
+    pandoc pandocTypes parsec rfc5051 split syb tagsoup texmath text
+    time utf8String vector yaml
   ];
-  testDepends = [ aeson aesonPretty Diff pandocTypes utf8String ];
+  testDepends = [ aeson aesonPretty Diff pandoc pandocTypes ];
   doCheck = false;
   meta = {
     description = "Supports using pandoc with citeproc";
diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix
index 686c07949be7..e1e7ac54d4ca 100644
--- a/pkgs/development/libraries/haskell/pandoc-types/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pandoc-types";
-  version = "1.12.2.2";
-  sha256 = "1ax92rxynrp42032d0i4wnv700cszm6qsvna8f9hqcfxvc2cbp36";
+  version = "1.12.2.3";
+  sha256 = "05xbpsx44sys0rkf2aqs4fcv4bg02ffhicp49jgnjyw9jiynhzzj";
   buildDepends = [ aeson syb ];
   meta = {
     homepage = "http://johnmacfarlane.net/pandoc";
diff --git a/pkgs/development/libraries/haskell/parsers/default.nix b/pkgs/development/libraries/haskell/parsers/default.nix
index dc42228df66a..529fdf47124c 100644
--- a/pkgs/development/libraries/haskell/parsers/default.nix
+++ b/pkgs/development/libraries/haskell/parsers/default.nix
@@ -1,12 +1,14 @@
-{ cabal, charset, doctest, filepath, text, transformers
+{ cabal, charset, doctest, filepath, parsec, text, transformers
 , unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "parsers";
-  version = "0.9";
-  sha256 = "04lbayvdv2hax4s9sqlnia7jpzv1sgls41ylql0xbi2zhz5rvyyi";
-  buildDepends = [ charset text transformers unorderedContainers ];
+  version = "0.10";
+  sha256 = "090dvmdb1kmnc3k2x170y9fdifxi16hzkij1gzc51flx3bpx40i1";
+  buildDepends = [
+    charset parsec text transformers unorderedContainers
+  ];
   testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/parsers/";
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index 2afc416cb522..c3bb228933d3 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.2.0.2";
-  sha256 = "0zj35mg7fzyk4b98s3s8m5i064s0wznz9aixgxa4kzm4xps7hj4z";
+  version = "1.2.0.4";
+  sha256 = "0lhqv4mcai9r5mzj5h6fsd1hd8mv1458id0rb6q157192gywxhzf";
   buildDepends = [
     aeson monadControl monadLogger persistent text transformers
   ];
diff --git a/pkgs/development/libraries/haskell/pointed/default.nix b/pkgs/development/libraries/haskell/pointed/default.nix
index e3a8d66be4c8..15f4ba59aaad 100644
--- a/pkgs/development/libraries/haskell/pointed/default.nix
+++ b/pkgs/development/libraries/haskell/pointed/default.nix
@@ -1,18 +1,18 @@
-{ cabal, comonad, comonadTransformers, dataDefault, semigroupoids
-, semigroups, stm, tagged, transformers
+{ cabal, comonad, dataDefaultClass, semigroupoids, semigroups, stm
+, tagged, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "pointed";
-  version = "3.1";
-  sha256 = "13vx1vy3qfa23145fdfdivdmw01qyl2k6g8ynqxl8pzbj9cbb08n";
+  version = "4.0";
+  sha256 = "02y7ba1pcpmwcp762516p4x75y3ma2kml9mbiv1y8gcnn4ylvir4";
   buildDepends = [
-    comonad comonadTransformers dataDefault semigroupoids semigroups
-    stm tagged transformers
+    comonad dataDefaultClass semigroupoids semigroups stm tagged
+    transformers
   ];
   meta = {
     homepage = "http://github.com/ekmett/pointed/";
-    description = "Haskell 98 pointed and copointed data";
+    description = "Pointed and copointed data";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 9f89ae83ec60..a6412006e8fc 100644
--- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "postgresql-simple";
-  version = "0.3.7.1";
-  sha256 = "1xrgwpg58srmzv1d0jdknyh5vwdq2c40fyqy0wvgppisxzq469wh";
+  version = "0.3.8.0";
+  sha256 = "1p1cxp7mjrxyxxqrq2skm3kqrnmb3k6fb8kwr2aj9cnbqfhwl1qf";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeTextual postgresqlLibpq text
     time transformers vector
diff --git a/pkgs/development/libraries/haskell/profunctor-extras/default.nix b/pkgs/development/libraries/haskell/profunctor-extras/default.nix
index 6844bcc369a6..bf7e6ab71212 100644
--- a/pkgs/development/libraries/haskell/profunctor-extras/default.nix
+++ b/pkgs/development/libraries/haskell/profunctor-extras/default.nix
@@ -1,18 +1,13 @@
-{ cabal, comonad, profunctors, semigroupoidExtras, semigroupoids
-, tagged, transformers
-}:
+{ cabal, profunctors }:
 
 cabal.mkDerivation (self: {
   pname = "profunctor-extras";
-  version = "3.3.3.1";
-  sha256 = "16naa6ksgwy6fh8vwflcc9s0rpamn886as8qhjqrkpjlc8s83h7g";
-  buildDepends = [
-    comonad profunctors semigroupoidExtras semigroupoids tagged
-    transformers
-  ];
+  version = "4.0";
+  sha256 = "10j458liqlyz5s9gkg95c6aq7ap5fa7d8pc7hygy71nn87pm2g4a";
+  buildDepends = [ profunctors ];
   meta = {
     homepage = "http://github.com/ekmett/profunctor-extras/";
-    description = "Profunctor extras";
+    description = "This package has been absorbed into profunctors 4.0";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/profunctors/default.nix b/pkgs/development/libraries/haskell/profunctors/default.nix
index 83398295108b..83d06b10ca66 100644
--- a/pkgs/development/libraries/haskell/profunctors/default.nix
+++ b/pkgs/development/libraries/haskell/profunctors/default.nix
@@ -1,13 +1,13 @@
-{ cabal, comonad, tagged }:
+{ cabal, comonad, semigroupoids, tagged, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "profunctors";
-  version = "3.3.0.1";
-  sha256 = "16d7xg929r4smmmcgi54bz7rsjxs6psksrdvzl4336sjpp3dw5h2";
-  buildDepends = [ comonad tagged ];
+  version = "4.0.1";
+  sha256 = "13yr3n7jkhxbk4gk6nd1j8p1a7g5ir8g9xprcy3s1x39cqf4m986";
+  buildDepends = [ comonad semigroupoids tagged transformers ];
   meta = {
     homepage = "http://github.com/ekmett/profunctors/";
-    description = "Haskell 98 Profunctors";
+    description = "Profunctors";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/reducers/default.nix b/pkgs/development/libraries/haskell/reducers/default.nix
index 319cd138ccec..ea1049d2b40a 100644
--- a/pkgs/development/libraries/haskell/reducers/default.nix
+++ b/pkgs/development/libraries/haskell/reducers/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "reducers";
-  version = "3.0.2";
-  sha256 = "0inw5gz3bdrfc6hprjfxssyqjwmclgf09gms14blj24qr027gdqq";
+  version = "3.10.1";
+  sha256 = "0pgywdgq0rqir95n4z3nzmyx5n54a1df9abyanz4qfv0g080fjkz";
   buildDepends = [
     comonad fingertree hashable keys pointed semigroupoids semigroups
     text transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix b/pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix
index c7ed906b908f..6a45c87d9a6e 100644
--- a/pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix
+++ b/pkgs/development/libraries/haskell/regex-compat-tdfa/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "regex-compat-tdfa";
-  version = "0.95.1.3";
-  sha256 = "0wl5sqbb3rl5dai3qni8w09wlipc4n1mn9kh5zgb9xl0lcd59pjx";
+  version = "0.95.1.4";
+  sha256 = "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg";
   buildDepends = [ regexBase regexTdfa ];
   meta = {
     homepage = "http://hub.darcs.net/shelarcy/regex-compat-tdfa";
diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix
index b0953cf9f7c3..b4d0fccd8a0b 100644
--- a/pkgs/development/libraries/haskell/resourcet/default.nix
+++ b/pkgs/development/libraries/haskell/resourcet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resourcet";
-  version = "0.4.8";
-  sha256 = "10pp4hm5c2k2fqzqpagy03gmr526ac2ji8h7k0mcypf4v0ga620m";
+  version = "0.4.9";
+  sha256 = "1jpaphmwvykjshjqwmmyfx64w1j99f6dphy9ygrzc32fjffk5laz";
   buildDepends = [
     liftedBase mmorph monadControl mtl transformers transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix b/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix
index 263adb42f253..cb8ed865da3d 100644
--- a/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix
+++ b/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix
@@ -1,13 +1,13 @@
-{ cabal, comonad, distributive, groupoids, semigroupoids }:
+{ cabal, semigroupoids }:
 
 cabal.mkDerivation (self: {
   pname = "semigroupoid-extras";
-  version = "3.0.1";
-  sha256 = "1b6ix9myjav1h4bbq3jxlan8sn2pjw8x0zhazv3anxfab5n2sxpd";
-  buildDepends = [ comonad distributive groupoids semigroupoids ];
+  version = "4.0";
+  sha256 = "07aa7z4nywcrp9msq83b1pcmryl25yxha89sn5vwlgq40cibcm3g";
+  buildDepends = [ semigroupoids ];
   meta = {
     homepage = "http://github.com/ekmett/semigroupoid-extras";
-    description = "Semigroupoids requiring Haskell extensions";
+    description = "This package has been absorbed into semigroupoids 4.0";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/semigroupoids/default.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix
index aa7176f7e161..e0dbf4568049 100644
--- a/pkgs/development/libraries/haskell/semigroupoids/default.nix
+++ b/pkgs/development/libraries/haskell/semigroupoids/default.nix
@@ -1,13 +1,17 @@
-{ cabal, comonad, contravariant, semigroups, transformers }:
+{ cabal, comonad, contravariant, distributive, semigroups
+, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "semigroupoids";
-  version = "3.1";
-  sha256 = "02147y0nnvyc9ykvjbbxa9gzmkk9kgpsmx40ahwnjk9igjkbyp9g";
-  buildDepends = [ comonad contravariant semigroups transformers ];
+  version = "4.0";
+  sha256 = "12h2b9pisy21xca3x9ilj0aix9clni0za35d2dmv55gb8y8df54l";
+  buildDepends = [
+    comonad contravariant distributive semigroups transformers
+  ];
   meta = {
     homepage = "http://github.com/ekmett/semigroupoids";
-    description = "Haskell 98 semigroupoids: Category sans id";
+    description = "Semigroupoids: Category sans id";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/setenv/default.nix b/pkgs/development/libraries/haskell/setenv/default.nix
index b19728820aad..b00480279e18 100644
--- a/pkgs/development/libraries/haskell/setenv/default.nix
+++ b/pkgs/development/libraries/haskell/setenv/default.nix
@@ -1,10 +1,9 @@
-{ cabal, hspec, QuickCheck }:
+{ cabal }:
 
 cabal.mkDerivation (self: {
   pname = "setenv";
-  version = "0.1.0";
-  sha256 = "04w42bpfbrs5crjp19zzi9dg61xpz4wvmjs2vc7q7qxblyhdfdsy";
-  testDepends = [ hspec QuickCheck ];
+  version = "0.1.1";
+  sha256 = "1j0fj8nrx9z90kghasxjx5jycz9y9xdi7mrxmgnsc14csa65rhb8";
   doCheck = false;
   meta = {
     description = "A cross-platform library for setting environment variables";
diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index 2588b11ae780..ef7a6d699050 100644
--- a/pkgs/development/libraries/haskell/shake/default.nix
+++ b/pkgs/development/libraries/haskell/shake/default.nix
@@ -4,14 +4,19 @@
 
 cabal.mkDerivation (self: {
   pname = "shake";
-  version = "0.10.7";
-  sha256 = "0r48kzldbgixr1c83sd7frvygqyjx32n67nri1nnamcwpvlv8hgv";
+  version = "0.10.8";
+  sha256 = "15r392b18nis9p0ys95kbj79hki19wid2gyrpy0z9zm2l5d1m3ya";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     binary deepseq filepath hashable random time transformers
     unorderedContainers utf8String
   ];
+  testDepends = [
+    binary deepseq filepath hashable random time transformers
+    unorderedContainers utf8String
+  ];
+  doCheck = false;
   meta = {
     homepage = "http://community.haskell.org/~ndm/shake/";
     description = "Build system library, like Make, but more accurate dependencies";
diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
index f24d60612d6f..03b6b057cd1e 100644
--- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-css";
-  version = "1.0.6.3";
-  sha256 = "1zwvrdb8kgknp2ri3ws6m0jg41d8kdprvjdimwxh98san7vmk744";
+  version = "1.0.6.4";
+  sha256 = "12f2b69grxpwk56b2d7idlg8axqfgzn0rn3m56r1hcpvkjbynlc4";
   buildDepends = [ parsec shakespeare text transformers ];
   testDepends = [ hspec HUnit shakespeare text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
index 6aa34026ce88..ed743d878324 100644
--- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-js";
-  version = "1.2.0";
-  sha256 = "1g37m7shqxfv7i2dk5qhvxldfzh1xipd91vcyqhks1jwa5byarzj";
+  version = "1.2.0.2";
+  sha256 = "1d7fmw2295ycjipaj9fjgw02y1088h2gxxk1d6sy4c165x95r6vx";
   buildDepends = [ aeson shakespeare text ];
   testDepends = [ aeson hspec HUnit shakespeare text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
index d05e2247710c..d5e91da61b1e 100644
--- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-text";
-  version = "1.0.0.7";
-  sha256 = "0vl8884a0x927svvkza5xzjn4g1rip8dak1zh9wkm4d0q7lhv2px";
+  version = "1.0.0.8";
+  sha256 = "0gf4gsdfjz9c15wvxz886gjzzifgzanfhblgab15inl2rblirv7l";
   buildDepends = [ shakespeare text ];
   testDepends = [ hspec HUnit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix
index 231470dca5a3..a5428b0ee3c1 100644
--- a/pkgs/development/libraries/haskell/shakespeare/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare";
-  version = "1.2.0";
-  sha256 = "0lzzdkry3sm5i5hhdygsikpnaps66k1sfdxi2mp0ly5aqi1n1blz";
+  version = "1.2.0.1";
+  sha256 = "07qfbqvq8fqbf7y43h0qq2gk9brpf4g0k7gghrjzyjrd57v5zygp";
   buildDepends = [ parsec systemFileio systemFilepath text time ];
   testDepends = [
     hspec parsec systemFileio systemFilepath text time
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index b8c527daf1a9..806feee295f7 100644
--- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "simple-sendfile";
-  version = "0.2.12";
-  sha256 = "019n82700fbhsqxgn1cwfqii27r436gljis7yl02zjnzy7xlvrha";
+  version = "0.2.13";
+  sha256 = "03cgbzfhkih1ln1xb78r1hfh6zzjjj6763n9nzr9cj6bxs0fiqd3";
   buildDepends = [ network ];
   testDepends = [ conduit hspec HUnit network networkConduit ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix
index 94f452f69b88..15fe497b88da 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -20,6 +20,7 @@ cabal.mkDerivation (self: {
     unorderedContainers vector vectorAlgorithms xmlhtml
   ];
   jailbreak = true;
+  patchPhase = "sed -i -e 's|lens .*|lens|' snap.cabal";
   meta = {
     homepage = "http://snapframework.com/";
     description = "Top-level package for the Snap Web Framework";
diff --git a/pkgs/development/libraries/haskell/socks/default.nix b/pkgs/development/libraries/haskell/socks/default.nix
index 22b9a4151237..f939708c16a6 100644
--- a/pkgs/development/libraries/haskell/socks/default.nix
+++ b/pkgs/development/libraries/haskell/socks/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "socks";
-  version = "0.5.2";
-  sha256 = "1bvvrc0lzjspab7jn31d45za8g6n9jr52mcf7rs5zci99f5jgpsv";
+  version = "0.5.3";
+  sha256 = "0cajbl7vrljawaxl3vbbf0sq92ry3cj925sww4nw70lhpz96ay4x";
   buildDepends = [ cereal network ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-socks";
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 54876a879fcc..5db264d3c7b3 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "statistics";
-  version = "0.10.4.1";
-  sha256 = "0kd3zn8ckz3h9dnighmfviacw5cy6czsj90ryn8c0h6yb2s3gqi1";
+  version = "0.10.5.0";
+  sha256 = "0yn0bqvh922zi0cg2nyb9vn5jk9k4j4vz96fl0h3ayxhfds08m6v";
   buildDepends = [
     binary deepseq erf mathFunctions monadPar mwcRandom primitive
     vector vectorAlgorithms vectorBinaryInstances
diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix
index 851b28baafea..84ca453c6c16 100644
--- a/pkgs/development/libraries/haskell/system-filepath/default.nix
+++ b/pkgs/development/libraries/haskell/system-filepath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "system-filepath";
-  version = "0.4.7";
-  sha256 = "108bmgz6rynkyabr4pws07smdh31syqvzry9cshrw3zd07c3mn89";
+  version = "0.4.8";
+  sha256 = "15x0yxakqqrdqvghr0l4pzvy5a68xxdv1c75d3qwx604665j3xkw";
   buildDepends = [ deepseq text ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index 37030681e340..df14857f9ab3 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty";
-  version = "0.3";
-  sha256 = "0sgc0529sqhj0b75a4mkdw0bkx56ynyl4msmi8hd20jvv5wnzyi6";
+  version = "0.3.1";
+  sha256 = "0ipndrpywzg40s5hiwyyly29mcppcfqbbpwqqp4apma57m8cdpb0";
   buildDepends = [
     ansiTerminal mtl optparseApplicative regexPosix stm tagged
   ];
diff --git a/pkgs/development/libraries/haskell/test-framework-hunit/default.nix b/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
index 011d791643cc..9efcff9a6d1e 100644
--- a/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "test-framework-hunit";
-  version = "0.3.0";
-  sha256 = "1jwbpbf9q3g936gk71632h830l2wsiic8h6ms1jlmw209mpm7c84";
+  version = "0.3.0.1";
+  sha256 = "1h0h55kf6ff25nbfx1mhliwyknc0glwv3zi78wpzllbjbs7gvyfk";
   buildDepends = [ extensibleExceptions HUnit testFramework ];
   meta = {
-    homepage = "http://batterseapower.github.com/test-framework/";
+    homepage = "https://batterseapower.github.io/test-framework/";
     description = "HUnit 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-quickcheck2/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
index b944c1e104cc..627c9f6347a5 100644
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
@@ -2,14 +2,14 @@
 
 cabal.mkDerivation (self: {
   pname = "test-framework-quickcheck2";
-  version = "0.3.0.1";
-  sha256 = "1177cvlb4qsa5x2k12dd60y7b14dyd3jr1ygb49aackhjx52c41s";
+  version = "0.3.0.2";
+  sha256 = "0zgsbmxidyv735jbgajczn25pnhwq66haaadhh6lxj2jsq5fnqpy";
   buildDepends = [
     extensibleExceptions QuickCheck random testFramework
   ];
   jailbreak = true;
   meta = {
-    homepage = "http://batterseapower.github.com/test-framework/";
+    homepage = "https://batterseapower.github.io/test-framework/";
     description = "QuickCheck2 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/default.nix b/pkgs/development/libraries/haskell/test-framework/default.nix
index b9f335e1a5af..735666734e3b 100644
--- a/pkgs/development/libraries/haskell/test-framework/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework/default.nix
@@ -1,19 +1,18 @@
-{ cabal, ansiTerminal, ansiWlPprint, extensibleExceptions, hostname
-, random, regexPosix, time, xml
+{ cabal, ansiTerminal, ansiWlPprint, hostname, random, regexPosix
+, time, xml
 }:
 
 cabal.mkDerivation (self: {
   pname = "test-framework";
-  version = "0.8";
-  sha256 = "1w895nq357zpc4v6vr5nbszyrw7cpsjq5bj38vdd10bfpjjmijcl";
+  version = "0.8.0.3";
+  sha256 = "136nw5dapsz3jrnw1pdfkjgplxigpr2mrf6i85154vx342zvw5ar";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    ansiTerminal ansiWlPprint extensibleExceptions hostname random
-    regexPosix time xml
+    ansiTerminal ansiWlPprint hostname random regexPosix time xml
   ];
   meta = {
-    homepage = "http://batterseapower.github.com/test-framework/";
+    homepage = "https://batterseapower.github.io/test-framework/";
     description = "Framework for running and organising tests, with HUnit and QuickCheck support";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/th-lift/default.nix b/pkgs/development/libraries/haskell/th-lift/default.nix
index b8a118b56a65..c479955db645 100644
--- a/pkgs/development/libraries/haskell/th-lift/default.nix
+++ b/pkgs/development/libraries/haskell/th-lift/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "th-lift";
-  version = "0.5.5";
-  sha256 = "1zp9alv3nbvra1rscddak3i33c2jnv6g6806h94qbfkq3zbimfi0";
+  version = "0.5.6";
+  sha256 = "128rbpqbm4fgn1glbv8bvlqnvn2wvca7wj08xri25w3bikmfy2z4";
   meta = {
     description = "Derive Template Haskell's Lift class for datatypes";
     license = "unknown";
diff --git a/pkgs/development/libraries/haskell/th-orphans/default.nix b/pkgs/development/libraries/haskell/th-orphans/default.nix
index 8fb51c77dbf1..9196e9ef76b2 100644
--- a/pkgs/development/libraries/haskell/th-orphans/default.nix
+++ b/pkgs/development/libraries/haskell/th-orphans/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "th-orphans";
-  version = "0.7.0.1";
-  sha256 = "19lfq2m7c6n2z8gz4n57wc92x5x5rkgv4chbfq7w4n531qya4bgr";
+  version = "0.8";
+  sha256 = "0kzzcicn6pggvvblhbrs3vh0bf71izlb99lb0f5qww7ymi4smldr";
   buildDepends = [ thLift ];
   meta = {
     description = "Orphan instances for TH datatypes";
diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix
index 8c2a50255b1b..6d63c267c61c 100644
--- a/pkgs/development/libraries/haskell/tls-extra/default.nix
+++ b/pkgs/development/libraries/haskell/tls-extra/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tls-extra";
-  version = "0.6.5";
-  sha256 = "09b8wxg4k88gdzpbxhd2apf0x5y51zh2zbw2cvraffjnnfkgvzqc";
+  version = "0.6.6";
+  sha256 = "0k0sj3nq1lrvbmd582mjj8cxbxigivz1hm8hhij1ncl2pgnq5xyv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/trifecta/default.nix b/pkgs/development/libraries/haskell/trifecta/default.nix
index 417b6102e7ed..f7b9a7aea811 100644
--- a/pkgs/development/libraries/haskell/trifecta/default.nix
+++ b/pkgs/development/libraries/haskell/trifecta/default.nix
@@ -6,14 +6,20 @@
 
 cabal.mkDerivation (self: {
   pname = "trifecta";
-  version = "1.1";
-  sha256 = "19wnblpn31hvdi5dc8ir24s0hfjj4vvzr43gg9ydl2qdjq6s166w";
+  version = "1.2.1.1";
+  sha256 = "1bv35ip7g0h7r2w0s8pkcbvm0b9hx91vblf5w57q3jr843v9314c";
   buildDepends = [
     ansiTerminal ansiWlPprint blazeBuilder blazeHtml blazeMarkup
     charset comonad deepseq fingertree hashable lens mtl parsers
     reducers semigroups transformers unorderedContainers utf8String
   ];
   testDepends = [ doctest filepath ];
+  postPatch = ''
+    substituteInPlace trifecta.cabal \
+      --replace "blaze-html           >= 0.5     && < 0.6," "blaze-html           >= 0.5     && < 0.7," \
+      --replace "hashable             >= 1.2     && < 1.3," "hashable             >= 1.1     && < 1.3," \
+      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2,"
+  '';
   meta = {
     homepage = "http://github.com/ekmett/trifecta/";
     description = "A modern parser combinator library with convenient diagnostics";
diff --git a/pkgs/development/libraries/haskell/usb/default.nix b/pkgs/development/libraries/haskell/usb/default.nix
new file mode 100644
index 000000000000..41a716185462
--- /dev/null
+++ b/pkgs/development/libraries/haskell/usb/default.nix
@@ -0,0 +1,14 @@
+{ cabal, baseUnicodeSymbols, bindingsLibusb, text, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "usb";
+  version = "1.2";
+  sha256 = "1k73avkmpbmg6iq2kmwhg2ifibni5c1yp202afdb6v7w5akvmc0b";
+  buildDepends = [ baseUnicodeSymbols bindingsLibusb text vector ];
+  meta = {
+    homepage = "http://basvandijk.github.com/usb";
+    description = "Communicate with USB devices";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/utf8-light/default.nix b/pkgs/development/libraries/haskell/utf8-light/default.nix
index 42591158cd7c..1c2e1f5c116b 100644
--- a/pkgs/development/libraries/haskell/utf8-light/default.nix
+++ b/pkgs/development/libraries/haskell/utf8-light/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "utf8-light";
-  version = "0.4.0.1";
-  sha256 = "1y2vfxjgq8r90bpaxhha0s837vklpwdj4cj3h61bimc0lcx22905";
+  version = "0.4.2";
+  sha256 = "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q";
   meta = {
     description = "Unicode";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/uuid/default.nix b/pkgs/development/libraries/haskell/uuid/default.nix
index 65115ef9a98f..37ef38da4e2e 100644
--- a/pkgs/development/libraries/haskell/uuid/default.nix
+++ b/pkgs/development/libraries/haskell/uuid/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     criterion deepseq HUnit mersenneRandomPure64 QuickCheck random
     testFramework testFrameworkHunit testFrameworkQuickcheck2
   ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://projects.haskell.org/uuid/";
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index 2d0dd397a08c..d88eb2df0bc9 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "1.3.2.1";
-  sha256 = "1iw2b53p08c38fdh3d0js9j8lyy0i8qszp3jd736kzxxiig6ah79";
+  version = "1.3.3";
+  sha256 = "0lsqfvlh65rggp9z6m5gyx8gv0wk3b44jrk57s8yj2bh74pbr64f";
   buildDepends = [
     base64Bytestring blazeBuilder blazeHtml blazeMarkup cereal
     cryptoApi cryptoConduit cryptohashCryptoapi fileEmbed httpDate
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index c96e7bfd7383..100dbbd7024e 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -1,13 +1,13 @@
 { cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, hashable, hspec, httpAttoparsec, httpTypes, HUnit
+, conduit, hashable, hspec, HTTP, httpAttoparsec, httpTypes, HUnit
 , liftedBase, network, networkConduit, QuickCheck, simpleSendfile
 , transformers, unixCompat, void, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "1.3.9.2";
-  sha256 = "0l4iq7dl7iv9sf0bj52g577x9i84miscfr27b2vm8g8n6306jr77";
+  version = "1.3.10.1";
+  sha256 = "1pi2x0gi4r6qy151a9gmfq223yiy53j7prj2pyn00cprr0m4mk2v";
   buildDepends = [
     blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable
     httpAttoparsec httpTypes liftedBase network networkConduit
@@ -15,7 +15,7 @@ cabal.mkDerivation (self: {
   ];
   testDepends = [
     blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable
-    hspec httpAttoparsec httpTypes HUnit liftedBase network
+    hspec HTTP httpAttoparsec httpTypes HUnit liftedBase network
     networkConduit QuickCheck simpleSendfile transformers unixCompat
     void wai
   ];
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 7e2bd368c7e2..8d06099b77e5 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.5";
-  sha256 = "12jj785gzcnrif460cx2k69pc2h9h956g0w1gp8pcr5hawrvd6rg";
+  version = "0.8.5.1";
+  sha256 = "0vbampykc5a027q5fh5w6i1bxblyxx7s3nzhpzaa4c1yz8nz3k57";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index b260a6e4188e..a86417f6b397 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.3.3";
-  sha256 = "13cbahj7kjxvw0p92sza72fyh47by5qna6ym9lsvka0y8fk7jf6w";
+  version = "1.2.3.4";
+  sha256 = "0xwav5ghik0vzg706rcqlzk64gnvr4nn4iikx1bzymzz2p5zyg0z";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 14c8259cddb6..0bd73c2ade4f 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.4.4";
-  sha256 = "0awz5ijhmd7z292irzz8sp2j3vp3lp57k9rcp4bmgqmxkf826hkj";
+  version = "1.2.4.5";
+  sha256 = "091f89bwjsf2qimivbz74rykjjgzghfvs66sv9cz305pgw6kpjc7";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
     caseInsensitive cereal clientsession conduit cookie dataDefault
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 878e3c9ebce1..5c0220f1f2aa 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.2.2";
-  sha256 = "1dqhpzkhg9wcdd9djynrjixpp28rj8iy9pfipx250bry7yq77rv2";
+  version = "1.3.3";
+  sha256 = "1maf8yczijx8rdjy4abr2jq1ds4g61jg3zbqxjzaaxsbs77gna4a";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi
     dataDefault emailValidate hamlet network persistent resourcet
diff --git a/pkgs/development/libraries/haskell/yesod-platform/default.nix b/pkgs/development/libraries/haskell/yesod-platform/default.nix
index 9fe24ca4a747..f75b5706f6aa 100644
--- a/pkgs/development/libraries/haskell/yesod-platform/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-platform/default.nix
@@ -30,8 +30,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-platform";
-  version = "1.2.4.2";
-  sha256 = "1hmzdwjqi3cxdmyvcr48kprrsa8h548z272mif07114d0qh48x4w";
+  version = "1.2.4.3";
+  sha256 = "1ilkfmg4sdrz45hc2m8b8rqz242phgxzgizrnd41d5g04jib3hl3";
   buildDepends = [
     aeson ansiTerminal asn1Data asn1Types attoparsec attoparsecConduit
     authenticate base64Bytestring baseUnicodeSymbols blazeBuilder
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index 04be58eb50a6..95516dadacf7 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -13,9 +13,15 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://hunspell.sourceforge.net;
-    description = "The spell checker of OpenOffice.org and Mozilla Firefox 3 & Thunderbird, Google Chrome etc.";
+    description = "Spell checker";
     longDescription = ''
+      Hunspell is the spell checker of LibreOffice, OpenOffice.org, Mozilla
+      Firefox 3 & Thunderbird, Google Chrome, and it is also used by
+      proprietary software packages, like Mac OS X, InDesign, memoQ, Opera and
+      SDL Trados.
+
       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.
       * Morphological analysis, stemming and generation.
diff --git a/pkgs/development/libraries/jansson/default.nix b/pkgs/development/libraries/jansson/default.nix
index a1f9983abe2c..4908c737ece4 100644
--- a/pkgs/development/libraries/jansson/default.nix
+++ b/pkgs/development/libraries/jansson/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://www.digip.org/jansson/";
-    description = "Jansson is a C library for encoding, decoding and manipulating JSON data.";
+    description = "C library for encoding, decoding and manipulating JSON data";
     license = "MIT";
   };
 }
diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix
index 12846dfbe8b5..7c990e99c33c 100644
--- a/pkgs/development/libraries/leveldb/default.nix
+++ b/pkgs/development/libraries/leveldb/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://code.google.com/p/leveldb/";
-    description = "A fast and lightweight key/value database library by Google.";
+    description = "Fast and lightweight key/value database library by Google";
     license = "BSD";
   };
 }
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index ea45902b7493..287ac32fff5f 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -26,7 +26,7 @@ with { inherit (stdenv.lib) optional optionals; };
 
 let
   result = {
-    libav_9   = libavFun   "9.9" "1rwphyqb2c4zyp20y4ywxjiddmd46vd4dbpdm1lxqm3q63rmmdk9";
+    libav_9   = libavFun  "9.10" "039hx7z8lmsiljy4wj87hk8lkxspbxbrjv43v3lc38cxfx0fdnw3";
     libav_0_8 = libavFun "0.8.8" "1wnbmbs0z4f55y8r9bwb63l04zn383l1avy4c9x1ffb2xccgcp79";
   };
 
diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix
index 6efb785b6577..d3053b4d2a5f 100644
--- a/pkgs/development/libraries/libdevil/default.nix
+++ b/pkgs/development/libraries/libdevil/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     homepage = http://openil.sourceforge.net/;
     description = "An image library which can can load, save, convert, manipulate, filter and display a wide variety of image formats";
     license = licenses.lgpl2;
-    platforms = platforms.all;
+    platforms = platforms.mesaPlatforms;
     maintainers = [ maintainers.phreedom maintainers.urkud ];
   };
 }
diff --git a/pkgs/development/libraries/libid3tag/default.nix b/pkgs/development/libraries/libid3tag/default.nix
index e137c9397715..3b701b703c1a 100644
--- a/pkgs/development/libraries/libid3tag/default.nix
+++ b/pkgs/development/libraries/libid3tag/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   propagatedBuildInputs = [zlib];
 
   meta = {
-    description = "An ID3 tag manipulation library.";
+    description = "ID3 tag manipulation library";
     homepage = http://mad.sourceforge.net/;
     license = "GPL";
   };
diff --git a/pkgs/development/libraries/libjson-rpc-cpp/default.nix b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
new file mode 100644
index 000000000000..3dca6a04af7b
--- /dev/null
+++ b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, cmake, curl }:
+
+let
+  name = "libjson-rpc-cpp";
+  version = "0.2.1";
+in
+
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/cinemast/${name}/archive/${version}.tar.gz";
+    sha256 = "1pc9nn4968qkda8vr4f9dijn2fcldm8i0ymwmql29h4cl5ghdnpw";
+  };
+
+  buildInputs = [ cmake curl ];
+
+  NIX_LDFLAGS = "-lpthread";
+  enableParallelBuilding = true;
+  doCheck = true;
+
+  checkPhase = "LD_LIBRARY_PATH=out/ ctest";
+
+  meta = {
+    description = "C++ framework for json-rpc (json remote procedure call)";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/liblockfile/default.nix b/pkgs/development/libraries/liblockfile/default.nix
index 2db90845f699..f991fdc2f299 100644
--- a/pkgs/development/libraries/liblockfile/default.nix
+++ b/pkgs/development/libraries/liblockfile/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
 
   meta = {
-    description = "Liblockfile is a shared library with NFS-safe locking functions.";
+    description = "Shared library with NFS-safe locking functions";
     homepage = http://packages.debian.org/unstable/libs/liblockfile1;
     license = "GPLv2+";
 
diff --git a/pkgs/development/libraries/libmcrypt/default.nix b/pkgs/development/libraries/libmcrypt/default.nix
index 79019cbc4891..afa661617318 100644
--- a/pkgs/development/libraries/libmcrypt/default.nix
+++ b/pkgs/development/libraries/libmcrypt/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     [ "--disable-posix-threads" ];
 
   meta = {
-    description = "MCrypt is a replacement for the old crypt() package and crypt(1) command, with extensions.";
+    description = "Replacement for the old crypt() package and crypt(1) command, with extensions";
     homepage = http://mcrypt.sourceforge.net;
     license = "GPL";
   };
diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix
index 487b4de6cb76..b724f915150a 100644
--- a/pkgs/development/libraries/libmemcached/default.nix
+++ b/pkgs/development/libraries/libmemcached/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://libmemcached.org;
-    description = "libMemcached is an open source C/C++ client library and tools for the memcached server.";
+    description = "Open source C/C++ client library and tools for the memcached server";
     license = "BSD";
   };
 }
diff --git a/pkgs/development/libraries/libnet/default.nix b/pkgs/development/libraries/libnet/default.nix
new file mode 100644
index 000000000000..783739dda717
--- /dev/null
+++ b/pkgs/development/libraries/libnet/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libnet-${version}";
+  version = "1.2-rc2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libnet-dev/${name}.tar.gz";
+    sha256 = "1pc74p839a7wvhjdgy0scj7c4yarr6mqdqvj56k6sp8pkc763az7";
+  };
+
+  meta = {
+    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;
+  };
+}
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index 99624911077d..8e689ed25687 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig libnfnetlink libmnl ];
 
   meta = {
-    description = "userspace library providing an API to the in-kernel connection tracking state table.";
+    description = "Userspace library providing an API to the in-kernel connection tracking state table";
     longDescription = ''
       libnetfilter_conntrack is a userspace library providing a programming interface (API) to the
       in-kernel connection tracking state table. The library libnetfilter_conntrack has been
diff --git a/pkgs/development/libraries/libnfnetlink/default.nix b/pkgs/development/libraries/libnfnetlink/default.nix
index 07a182dff10f..3bb698e9bf63 100644
--- a/pkgs/development/libraries/libnfnetlink/default.nix
+++ b/pkgs/development/libraries/libnfnetlink/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "low-level library for netfilter related kernel/userspace communication.";
+    description = "Low-level library for netfilter related kernel/userspace communication";
     longDescription = ''
       libnfnetlink is the low-level library for netfilter related kernel/userspace communication.
       It provides a generic messaging infrastructure for in-kernel netfilter subsystems
diff --git a/pkgs/development/libraries/liboop/default.nix b/pkgs/development/libraries/liboop/default.nix
index 20793eb3140f..a963288e869a 100644
--- a/pkgs/development/libraries/liboop/default.nix
+++ b/pkgs/development/libraries/liboop/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "`liboop', an event loop library.";
+    description = "Event loop library";
     homepage = http://liboop.ofb.net/;
     license = "LGPL";
   };
diff --git a/pkgs/development/libraries/librdf/default.nix b/pkgs/development/libraries/librdf/default.nix
index 21c952b7fb89..9b51f694ab3e 100644
--- a/pkgs/development/libraries/librdf/default.nix
+++ b/pkgs/development/libraries/librdf/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   #doCheck = true; # would need swh_lv2 and some path patching
 
   meta = {
-    description = "A lightweight RDF library with special support for LADSPA plugins.";
+    description = "Lightweight RDF library with special support for LADSPA plugins";
     homepage = http://sourceforge.net/projects/lrdf/;
     license = "GPLv2";
     maintainers = [ stdenv.lib.maintainers.marcweber ];
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
new file mode 100644
index 000000000000..e8124c2643ab
--- /dev/null
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libsodium-0.4.3";
+
+  src = fetchurl {
+    url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
+    sha256 = "0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r";
+  };
+
+  NIX_LDFLAGS = "-lssp";
+
+  doCheck = true;
+
+  meta = {
+    description = "Version of NaCl with harwdare tests at runtime, not build time";
+    license = "ISC";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
new file mode 100644
index 000000000000..0098ddb9d77a
--- /dev/null
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses
+, libconfig, pkgconfig }:
+
+let
+  version = "31f5d7a8ab";
+  date = "20131011";
+in
+stdenv.mkDerivation rec {
+  name = "tox-core-${date}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/irungentoo/ProjectTox-Core/tarball/${version}";
+    name = "${name}.tar.gz";
+    sha256 = "0frz8ylvi33i7zkiz3hp28ylqg4c3ffrbc2m3ibb4zv9rwfzf77r";
+  };
+
+  preConfigure = ''
+    autoreconf -i
+  '';
+
+  configureFlags = [ "--with-libsodium-headers=${libsodium}/include"
+    "--with-libsodium-libs=${libsodium}/lib" 
+    "--enable-ntox" ];
+
+  buildInputs = [ autoconf libtool automake libsodium ncurses libconfig
+    pkgconfig ];
+
+  doCheck = true;
+
+  meta = {
+    description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
+    license = "GPLv3+";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index c01baa2fd0f6..d4504a26b7f3 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig ];
   propagatedBuildInputs = stdenv.lib.optional (stdenv.isLinux) udev;
 
+  NIX_LDFLAGS = "-lgcc_s";
+
   meta = {
     homepage = http://www.libusb.org;
     description = "User-space USB library";
diff --git a/pkgs/development/libraries/libyaml-cpp/0.3.x.nix b/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
new file mode 100644
index 000000000000..4b0acd83fc39
--- /dev/null
+++ b/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
@@ -0,0 +1,18 @@
+{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 = "MIT";
+  };
+}
diff --git a/pkgs/development/libraries/libyaml-cpp/default.nix b/pkgs/development/libraries/libyaml-cpp/default.nix
new file mode 100644
index 000000000000..09860522ef41
--- /dev/null
+++ b/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, cmake, boostHeaders}:
+
+stdenv.mkDerivation {
+  name = "libyaml-cpp-0.5.1";
+
+  src = fetchurl {
+    url = http://yaml-cpp.googlecode.com/files/yaml-cpp-0.5.1.tar.gz;
+    sha256 = "01kg0h8ksp162kdhyzn67vnlxpj5zjbks84sh50pv61xni990z1y";
+  };
+
+  buildInputs = [ cmake boostHeaders ];
+
+  meta = {
+    homepage = http://code.google.com/p/yaml-cpp/;
+    description = "A YAML parser and emitter for C++";
+    license = "MIT";
+  };
+}
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 1aef55c9b2cc..803680313493 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"; in
+let version = "4.10.1"; 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 = "10dbf68c07497dab30be09db526931c885d5a7e9";
+    sha1 = "bd1cdf5e7e107846ffe431c5c62b81a560e8c3f7";
   };
 
   preConfigure = "cd nspr";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index de980d718f33..49f3754bc140 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -17,11 +17,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.15.1";
+  version = "3.15.2";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_1_RTM/src/${name}.tar.gz";
-    sha1 = "1aa7c0ff8af7fb2c8b6e4886ae2291f4bfe0d5c0";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_2_RTM/src/${name}.tar.gz";
+    sha1 = "2d900c296bf11deabbf833ebd6ecdea549c97a5f";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 984b84085fe4..684d6475c637 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   
   meta = {
     homepage = http://www.geocities.jp/kosako3/oniguruma/;
-    description = "Oniguruma is a regular expressions library.";
+    description = "Oniguruma regular expressions library";
     license = "BSD";
   };
 }
diff --git a/pkgs/development/libraries/phonon-backend-vlc/default.nix b/pkgs/development/libraries/phonon-backend-vlc/default.nix
index 97e778cc1f58..257c80f0b118 100644
--- a/pkgs/development/libraries/phonon-backend-vlc/default.nix
+++ b/pkgs/development/libraries/phonon-backend-vlc/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "VideoLAN backend for Phonon multimedia framework";
-    inherit (qt4.meta) platforms;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 788b6d6d32b8..9d1f0d18c1ad 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, gettext
 , gobjectIntrospection
-, useSystemd ? true, systemd }:
+, useSystemd ? stdenv.isLinux, systemd }:
 
 let
 
diff --git a/pkgs/development/libraries/qhull/default.nix b/pkgs/development/libraries/qhull/default.nix
index b81dbda15860..a82acd2745db 100644
--- a/pkgs/development/libraries/qhull/default.nix
+++ b/pkgs/development/libraries/qhull/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.qhull.org/;
-    description = "Computes the convex hull, Delaunay triangulation, ...";
+    description = "Computes the convex hull, Delaunay triangulation, Voronoi diagram and more";
     license = "free";
   };
 }
diff --git a/pkgs/development/libraries/sfml/default.nix b/pkgs/development/libraries/sfml/default.nix
index 99b0f2e725cd..844505cb3599 100644
--- a/pkgs/development/libraries/sfml/default.nix
+++ b/pkgs/development/libraries/sfml/default.nix
@@ -16,7 +16,12 @@ stdenv.mkDerivation rec {
   ";
   meta = with stdenv.lib; {
     homepage = http://www.sfml-dev.org/;
-    description = "A multimedia C++ API that provides access to graphics, input, audio, etc.";
+    description = "Simple and fast multimedia library";
+    longDescription = ''
+      SFML provides a simple interface to the various components of your PC, to
+      ease the development of games and multimedia applications. It is composed
+      of five modules: system, window, graphics, audio and network.
+    '';
     license = licenses.zlib;
     maintainers = [ maintainers.astsmtl ];
   };
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
new file mode 100644
index 000000000000..0a36efbc982b
--- /dev/null
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, freetype, libXft, pango, fontconfig, cmake }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.3";
+  name = "graphite2-${version}";
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/silgraphite/graphite2/${name}.tgz";
+    sha256 = "1xgwnd81gm6p293x8paxb3yisnvpj5qnv1dzr7bjdi7b7h00ls7g";
+  };
+
+  buildInputs = [pkgconfig freetype libXft pango fontconfig cmake];
+
+  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
+
+  meta = {
+    description = "An advanced font engine";
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index e281b1fcf9d1..162a832c93af 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "Protocol headers for the SPICE protocol.";
+    description = "Protocol headers for the SPICE protocol";
     homepage = http://www.spice-space.org;
     license = stdenv.lib.licenses.bsd3;
 
diff --git a/pkgs/development/libraries/tinyxml/2.6.2.nix b/pkgs/development/libraries/tinyxml/2.6.2.nix
index fde30a98fe98..e1cc1f27c1d0 100644
--- a/pkgs/development/libraries/tinyxml/2.6.2.nix
+++ b/pkgs/development/libraries/tinyxml/2.6.2.nix
@@ -58,7 +58,7 @@ in stdenv.mkDerivation {
   '';
   
   meta = {
-    description = "TinyXML is a simple, small, C++ XML parser that can be easily integrating into other programs.";
+    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";
   };
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 13c2990c73d3..0564e6887957 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
 
     meta = with stdenv.lib; {
       description = "V8 is Google's open source JavaScript engine";
-      platforms = platforms.unix; 
+      platforms = platforms.linux ++ platforms.darwin;
       license = licenses.bsd3;
     };
 }
diff --git a/pkgs/development/libraries/vcdimager/default.nix b/pkgs/development/libraries/vcdimager/default.nix
index 58b9d2f25735..e93f071aefac 100644
--- a/pkgs/development/libraries/vcdimager/default.nix
+++ b/pkgs/development/libraries/vcdimager/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://www.gnu.org/software/vcdimager/;
-    description = "GNU VCDImager is a full-featured mastering suite for authoring, disassembling and analyzing Video CDs and Super Video CDs.";
+    description = "Full-featured mastering suite for authoring, disassembling and analyzing Video CDs and Super Video CDs";
     platforms = stdenv.lib.platforms.gnu; # random choice
   };
 }
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
new file mode 100644
index 000000000000..c615573ae3ec
--- /dev/null
+++ b/pkgs/development/lisp-modules/asdf/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl, texinfo, texLive}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="asdf";
+    version="3.0.2.1";
+    name="${baseName}-${version}";
+    hash="1npd4dxsgk06ayhln56mwwky0vdpf7i77mkxfh105pld8w5xs4r4";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.0.2.1.tar.gz";
+    sha256="1npd4dxsgk06ayhln56mwwky0vdpf7i77mkxfh105pld8w5xs4r4";
+  };
+  buildInputs = [
+    texinfo texLive
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  buildPhase = ''
+    make build/asdf.lisp
+    make -C doc asdf.info asdf.html
+  '';
+  installPhase = ''
+    mkdir -p "$out"/lib/common-lisp/asdf/
+    mkdir -p "$out"/share/doc/asdf/
+    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'';
+    license = stdenv.lib.licenses.mit ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/lisp-modules/asdf/default.upstream b/pkgs/development/lisp-modules/asdf/default.upstream
new file mode 100644
index 000000000000..d8625182352f
--- /dev/null
+++ b/pkgs/development/lisp-modules/asdf/default.upstream
@@ -0,0 +1,2 @@
+url http://common-lisp.net/project/asdf/archives/
+version_link asdf-[0-9].*[.]tar[.].*
diff --git a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
new file mode 100755
index 000000000000..91b8a0c2bb0f
--- /dev/null
+++ b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
@@ -0,0 +1,44 @@
+#! /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
+
+eval "$NIX_LISP_PREHOOK"
+
+NIX_LISP_COMMAND="$1"
+shift
+
+[ -z "$NIX_LISP" ] && NIX_LISP="${NIX_LISP_COMMAND##*/}"
+
+export NIX_LISP NIX_LISP_LOAD_FILE NIX_LISP_EXEC_CODE NIX_LISP_COMMAND NIX_LISP_FINAL_PARAMETERS
+
+case "$NIX_LISP" in
+	sbcl)
+		NIX_LISP_LOAD_FILE="--load"
+		NIX_LISP_EXEC_CODE="--eval"
+		NIX_LISP_FINAL_PARAMETERS=
+		;;
+	ecl)
+		NIX_LISP_LOAD_FILE="-load"
+		NIX_LISP_EXEC_CODE="-eval"
+		NIX_LISP_FINAL_PARAMETERS=
+		;;
+	clisp)
+		NIX_LISP_LOAD_FILE="-c -l"
+		NIX_LISP_EXEC_CODE="-x"
+		NIX_LISP_FINAL_PARAMETERS="-repl"
+		;;
+esac
+
+NIX_LISP_ASDF_REGISTRY_CODE="
+  (progn
+    (setf asdf:*default-source-registries* '(asdf/source-registry:environment-source-registry))
+    (asdf:initialize-source-registry)
+    )
+"
+
+[ -z "$NIX_LISP_SKIP_CODE" ] && "$NIX_LISP_COMMAND" $NIX_LISP_EARLY_OPTIONS \
+	$NIX_LISP_EXEC_CODE "(load \"$NIX_LISP_ASDF/lib/common-lisp/asdf/build/asdf.lisp\")" \
+	$NIX_LISP_EXEC_CODE "$NIX_LISP_ASDF_REGISTRY_CODE" \
+	$NIX_LISP_FINAL_PARAMETERS \
+	"$@"
diff --git a/pkgs/development/lisp-modules/clwrapper/common-lisp.sh b/pkgs/development/lisp-modules/clwrapper/common-lisp.sh
new file mode 100755
index 000000000000..b22ca016128a
--- /dev/null
+++ b/pkgs/development/lisp-modules/clwrapper/common-lisp.sh
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+"$(dirname "$0")"/cl-wrapper.sh "${NIX_LISP_COMMAND:-sbcl}" "$@"
diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix
new file mode 100644
index 000000000000..0ae4ce13064c
--- /dev/null
+++ b/pkgs/development/lisp-modules/clwrapper/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, asdf, lisp ? null}:
+stdenv.mkDerivation {
+  name = "cl-wrapper-script";
+
+  buildPhase="";
+
+  installPhase=''
+    mkdir -p "$out"/bin
+    cp ${./cl-wrapper.sh} "$out"/bin/cl-wrapper.sh
+    cp ${./common-lisp.sh} "$out"/bin/common-lisp.sh
+    chmod a+x "$out"/bin/*
+  '';
+
+  inherit asdf lisp;
+
+  setupHook = ./setup-hook.sh;
+
+  phases="installPhase fixupPhase";
+
+  passthru = {
+    inherit lisp;
+  };
+
+  meta = {
+    description = ''Script used to wrap Common Lisp implementations'';
+    maintainers = [stdenv.lib.maintainers.raskin];
+  };
+}
diff --git a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
new file mode 100644
index 000000000000..5de43dc0e9a9
--- /dev/null
+++ b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
@@ -0,0 +1,33 @@
+NIX_LISP_ASDF="@asdf@"
+
+CL_SOURCE_REGISTRY="@asdf@/lib/common-lisp/asdf/:@asdf@/lib/common-lisp/asdf/uiop/"
+
+addASDFPaths () {
+    for j in "$1"/lib/common-lisp/*; do
+	if [ -d "$j" ]; then
+            CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$j/"
+	fi
+    done
+}
+
+setLisp () {
+    if [ -z "$NIX_LISP_COMMAND" ]; then 
+      for j in "$1"/bin/*; do
+          case "$(basename "$j")" in
+              sbcl) NIX_LISP_COMMAND="$j" ;;
+              ecl) NIX_LISP_COMMAND="$j" ;;
+              clisp) NIX_LISP_COMMAND="$j" ;;
+          esac
+      done
+    fi
+    if [ -z "$NIX_LISP" ]; then 
+        NIX_LISP="${NIX_LISP_COMMAND##*/}"
+    fi
+}
+
+export NIX_LISP_COMMAND NIX_LISP CL_SOURCE_REGISTRY NIX_LISP_ASDF
+
+envHooks=(envHooks[@] addASDFPaths setLisp)
+
+mkdir -p "$HOME"/.cache/common-lisp || HOME="$TMP/.temp-$USER-home"
+mkdir -p "$HOME"/.cache/common-lisp
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
new file mode 100644
index 000000000000..4fe3bb68373a
--- /dev/null
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -0,0 +1,45 @@
+args @ {stdenv, clwrapper, baseName, version ? "latest", src, description, deps, 
+  buildInputs ? [], meta ? {}, overrides?(x: {})}:
+let 
+  deployConfigScript = ''
+    config_script="$out"/lib/common-lisp-settings/${args.baseName}-shell-config.sh
+    mkdir -p "$(dirname "$config_script")"
+    touch "$config_script"
+    chmod a+x "$config_script"
+    echo "export NIX_LISP_COMMAND='$NIX_LISP_COMMAND'" >> "$config_script"
+    echo "export NIX_LISP_ASDF='$NIX_LISP_ASDF'" >> "$config_script"
+    echo "export CL_SOURCE_REGISTRY="\$CL_SOURCE_REGISTRY\''${CL_SOURCE_REGISTRY:+:}"'$CL_SOURCE_REGISTRY:$out/lib/common-lisp/${args.baseName}/'" >> "$config_script"
+  '';
+  deployLaunchScript = ''
+    launch_script="$out"/bin/${args.baseName}-lisp-launcher.sh
+    mkdir -p "$(dirname "$launch_script")"
+    touch "$launch_script"
+    chmod a+x "$launch_script"
+    echo "#! /bin/sh" >> "$launch_script"
+    echo "source '$config_script'" >> "$launch_script"
+    echo '"${clwrapper}/bin/common-lisp.sh" "$@"' >> "$launch_script" 
+  '';
+basePackage = {
+  name = "lisp-${baseName}-${version}";
+  inherit src;
+
+  inherit deployConfigScript deployLaunchScript;
+  installPhase = ''
+    mkdir -p "$out"/share/doc/${args.baseName};
+    mkdir -p "$out"/lib/common-lisp/${args.baseName};
+    cp -r . "$out"/lib/common-lisp/${args.baseName};
+    cp -rf doc/* LICENCE LICENSE COPYING README README.html README.md readme.html "$out"/share/doc/${args.baseName} || true
+
+    ${deployConfigScript}
+    ${deployLaunchScript}
+  '';
+  propagatedBuildInputs = args.deps ++ [clwrapper clwrapper.lisp];
+  buildInputs = buildInputs;
+  dontStrip=true;
+  meta = {
+    inherit description version;
+  } // meta;
+};
+package = basePackage // (overrides basePackage);
+in
+stdenv.mkDerivation package
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
new file mode 100644
index 000000000000..8eaaf151fa71
--- /dev/null
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -0,0 +1,49 @@
+{stdenv, clwrapper, pkgs}:
+let lispPackages = rec {
+  inherit pkgs clwrapper stdenv;
+  nixLib = pkgs.lib;
+  callPackage = nixLib.callPackageWith lispPackages;
+
+  buildLispPackage =  callPackage ./define-package.nix;
+
+  cl-ppcre = buildLispPackage rec {
+    baseName = "cl-ppcre";
+    version = "2.0.4";
+    description = "Regular expression library for Common Lisp";
+    deps = [];
+    src = pkgs.fetchurl {
+      url = "https://github.com/edicl/cl-ppcre/archive/v${version}.tar.gz";
+      sha256 = "16nkfg6j7nn8qkzxn462kqpdlbajpz2p55pdl12sia6yqkj3lh97";
+    };
+  };
+
+  clx = buildLispPackage rec {
+    baseName = "clx";
+    version = "2013-09";
+    description = "X11 bindings for Common Lisp";
+    deps = [];
+    src = pkgs.fetchgit {
+      url = "https://github.com/sharplispers/clx/";
+      rev = "e2b762ac93d78d6eeca4f36698c8dfd1537ce998";
+      sha256 = "0jcrmlaayz7m8ixgriq7id3pdklyk785qvpcxdpcp4aqnfiiqhij";
+    };
+  };
+
+  iterate = buildLispPackage rec {
+    baseName = "iterate";
+    version = "1.4.3";
+    description = "Iteration package for Common Lisp";
+    deps = [];
+    src = pkgs.fetchdarcs {
+      url = "http://common-lisp.net/project/iterate/darcs/iterate";
+      sha256 = "0m3q0s7h5s8varwx584m2akgdslj14df7kg4w1bj1fbgzsag5m1w";
+      tag=version;
+    };
+    overrides = x: {
+      configurePhase="buildPhase(){ true; }";
+    };
+  };
+
+  stumpwm = callPackage ./stumpwm {};
+};
+in lispPackages
diff --git a/pkgs/development/lisp-modules/stumpwm/default.nix b/pkgs/development/lisp-modules/stumpwm/default.nix
new file mode 100644
index 000000000000..a41ee799d8a0
--- /dev/null
+++ b/pkgs/development/lisp-modules/stumpwm/default.nix
@@ -0,0 +1,33 @@
+{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) "
+    '';
+    installPhase=x.installPhase + ''
+      make install
+
+      if [ "$NIX_LISP" = "sbcl" ]; then
+        wrapProgram "$out"/bin/stumpwm --set SBCL_HOME "${clwrapper.lisp}/lib/sbcl"
+      fi;
+    '';
+    postInstall = ''false'';
+  };
+}
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 3c28ed04dba2..5218f5b77448 100644
--- a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
+++ b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation {
   };
 
   meta = { 
-      description = "avr gcc developement environment including binutils, avr-gcc and avr-libc";
+      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
diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix
index 2792d364f15c..db7067c989c5 100644
--- a/pkgs/development/mobile/androidenv/build-app.nix
+++ b/pkgs/development/mobile/androidenv/build-app.nix
@@ -1,6 +1,7 @@
 { stdenv, androidsdk, jdk, ant }:
-{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false, antFlags ? ""
+args@{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false, antFlags ? ""
 , release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null
+, ...
 }:
 
 assert release -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null;
@@ -15,9 +16,8 @@ let
     abiVersions = [];
   };
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = stdenv.lib.replaceChars [" "] [""] name;
-  inherit src;
   
   ANDROID_HOME = "${androidsdkComposition}/libexec/android-sdk-${platformName}";
 
@@ -45,4 +45,5 @@ stdenv.mkDerivation {
     mkdir -p $out/nix-support
     echo "file binary-dist \"$(echo $out/*.apk)\"" > $out/nix-support/hydra-build-products
   '';
-}
+} //
+builtins.removeAttrs args ["name"])
diff --git a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
index 1cbab99e365d..7515fcdd121f 100644
--- a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
+++ b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
@@ -1,4 +1,4 @@
-{stdenv, version ? "4.6"}:
+{stdenv, version ? "5.0"}:
 
 stdenv.mkDerivation {
   name = "xcode-wrapper-"+version;
@@ -9,6 +9,7 @@ stdenv.mkDerivation {
     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"
 
     cd ..
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
index 2e109f1d6210..997ca2206105 100644
--- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://ocamlgraph.lri.fr/;
-    description = "ocamlgraph is a graph library for Objective Caml.";
+    description = "Graph library for Objective Caml";
     license = "GNU Library General Public License version 2, with the special exception on linking described in file LICENSE";
     platforms = ocaml.meta.platforms;
     maintainers = [
diff --git a/pkgs/development/ocaml-modules/sexplib/default.nix b/pkgs/development/ocaml-modules/sexplib/default.nix
index 32d5c842dc8c..7c40b5e6cfb8 100644
--- a/pkgs/development/ocaml-modules/sexplib/default.nix
+++ b/pkgs/development/ocaml-modules/sexplib/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://forge.ocamlcore.org/projects/sexplib/";
-    description = "Library for serializing OCaml values to and from S-expressions.";
+    description = "Library for serializing OCaml values to and from S-expressions";
     license = "LGPL";
     platforms = ocaml.meta.platforms;
   };
diff --git a/pkgs/development/perl-modules/maatkit/default.nix b/pkgs/development/perl-modules/maatkit/default.nix
index d560a5d8e410..d9a1f777f3ab 100644
--- a/pkgs/development/perl-modules/maatkit/default.nix
+++ b/pkgs/development/perl-modules/maatkit/default.nix
@@ -25,7 +25,15 @@ buildPerlPackage rec {
   '' ;
 
   meta = {
-    description = "Maatkit makes MySQL easier and safer to manage. It provides simple, predictable ways to do things you cannot otherwise do.";
+    description = "Database toolkit";
+    longDescription = ''
+      You can use Maatkit to prove replication is working correctly, fix
+      corrupted data, automate repetitive tasks, speed up your servers, and
+      much more.
+
+      In addition to MySQL, there is support for PostgreSQL, Memcached, and a
+      growing variety of other databases and technologies.
+    '';
     license = "GPLv2+";
     homepage = http://www.maatkit.org/;
   };
diff --git a/pkgs/development/python-modules/blivet/default.nix b/pkgs/development/python-modules/blivet/default.nix
index 922594bc3dc9..c1b36bf909de 100644
--- a/pkgs/development/python-modules/blivet/default.nix
+++ b/pkgs/development/python-modules/blivet/default.nix
@@ -53,5 +53,6 @@ in buildPythonPackage rec {
     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/development/python-modules/buildout-nix/nix.patch b/pkgs/development/python-modules/buildout-nix/nix.patch
index a09163518a96..dd3b8e12aa89 100644
--- a/pkgs/development/python-modules/buildout-nix/nix.patch
+++ b/pkgs/development/python-modules/buildout-nix/nix.patch
@@ -1,21 +1,36 @@
 --- a/src/zc/buildout/easy_install.py	2013-08-27 22:28:40.233718116 +0200
-+++ b/src/zc/buildout/easy_install.py	2013-08-27 22:31:07.967871186 +0200
-@@ -508,16 +508,15 @@
++++ b/src/zc/buildout/easy_install.py   2013-10-07 00:29:31.077413935 +0200
+@@ -508,16 +508,31 @@
                          self._dest, os.path.basename(dist.location))
  
                      if os.path.isdir(dist.location):
 -                        # we got a directory. It must have been
 -                        # obtained locally.  Just copy it.
 -                        shutil.copytree(dist.location, newloc)
-+                        # Symlink to dists in /nix/store
-+                        if not os.path.exists(newloc):
++                        # Replace links to garbage collected eggs in
++                        # /nix/store
++                        if os.path.islink(newloc):
++                            # It seems necessary to jump through these
++                            # hoops, otherwise we end up in an
++                            # infinite loop because
++                            # self._env.best_match fails to find the dist
++                            os.remove(newloc)
++                            dist = self._fetch(avail, tmp, self._download_cache)
 +                            os.symlink(dist.location, newloc)
++                            newdist = pkg_resources.Distribution.from_filename(
++                                newloc)
++                            self._env.add(newdist)
++                            logger.info("Updated link to %s" %dist.location)
++                        # Symlink to the egg in /nix/store
++                        elif not os.path.exists(newloc):
++                            os.symlink(dist.location, newloc)
++                            logger.info("Created link to %s" %dist.location)
                      else:
  
  
                          setuptools.archive_util.unpack_archive(
                              dist.location, newloc)
--
+ 
 -                    redo_pyc(newloc)
 +                        redo_pyc(newloc)
  
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
index 791d5e83d3c1..dc4f733a4cf0 100644
--- a/pkgs/development/python-modules/pyside/default.nix
+++ b/pkgs/development/python-modules/pyside/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   makeFlags = "QT_PLUGIN_PATH=" + pysideShiboken + "/lib/generatorrunner";
 
   meta = {
-    description = "LGPL-licensed Python bindings for the Qt cross-platform application and UI framework.";
+    description = "LGPL-licensed Python bindings for the Qt cross-platform application and UI framework";
     license = stdenv.lib.licenses.lgpl21;
     homepage = "http://www.pyside.org";
     maintainers = [ stdenv.lib.maintainers.chaoflow ];
diff --git a/pkgs/development/python-modules/pyside/tools.nix b/pkgs/development/python-modules/pyside/tools.nix
index 0b5e6851761c..a3153bed2177 100644
--- a/pkgs/development/python-modules/pyside/tools.nix
+++ b/pkgs/development/python-modules/pyside/tools.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ cmake pyside python27 qt4 pysideShiboken ];
 
   meta = {
-    description = "Tools for pyside, the LGPL-licensed Python bindings for the Qt cross-platform application and UI framework.";
+    description = "Tools for pyside, the LGPL-licensed Python bindings for the Qt cross-platform application and UI framework";
     license = stdenv.lib.licenses.gpl2;
     homepage = "http://www.pyside.org";
     maintainers = [ stdenv.lib.maintainers.chaoflow ];
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index 97f238302ecc..55e33c45ca95 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -30,14 +30,14 @@ stdenv.mkDerivation rec {
   installFlags = "INSTALL_ROOT=$(out)";
 
   meta = {
-    description = "Qt Creator is a cross-platform IDE tailored to the needs of Qt developers.";
+    description = "Cross-platform IDE tailored to the needs of Qt developers";
     longDescription = ''
-        Qt Creator is a cross-platform IDE (integrated development environment) tailored to the needs of Qt developers.
-        It includes features such as an advanced code editor, a visual debugger and a GUI designer.
-      '';
+      Qt Creator is a cross-platform IDE (integrated development environment)
+      tailored to the needs of Qt developers. It includes features such as an
+      advanced code editor, a visual debugger and a GUI designer.
+    '';
     homepage = "http://qt-project.org/wiki/Category:Tools::QtCreator";
     license = "LGPL";
-
     maintainers = [ stdenv.lib.maintainers.bbenoist ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 09656dc520a8..1dfaa5cf875b 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -15,7 +15,12 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Sun Code Conventions, but is highly configurable." ;
+    description = "Checks Java source against a coding standard";
+    longDescription = ''
+      checkstyle is a development tool to help programmers write Java code that
+      adheres to a coding standard. By default it supports the Sun Code
+      Conventions, but is highly configurable.
+    '';
     homepage = http://checkstyle.sourceforge.net/;
   };
 }
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index b152f0537e3b..8aea7bc8aa8e 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   configurePhase = "makeFlags=PREFIX=$out";
 
   meta = {
-    description = "check C/C++ code for memory leaks, mismatching allocation-deallocation, buffer overrun, etc.";
+    description = "Check C/C++ code for memory leaks, mismatching allocation-deallocation, buffer overrun and more";
     homepage = "http://sourceforge.net/apps/mediawiki/cppcheck/";
     license = "GPL";
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/tools/analysis/jdepend/default.nix b/pkgs/development/tools/analysis/jdepend/default.nix
index 7498d3b652ac..586e9d5cd5d3 100644
--- a/pkgs/development/tools/analysis/jdepend/default.nix
+++ b/pkgs/development/tools/analysis/jdepend/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "Depend traverses Java class file directories and generates design quality metrics for each Java package." ;
+    description = "Traverses Java class file directories and generates design quality metrics for each Java package";
     homepage = http://www.clarkware.com/software/JDepend.html ;
   };
 }
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index b830ee008389..14007d80b0fb 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "PMD scans Java source code and looks for potential problems." ;
+    description = "Scans Java source code and looks for potential problems";
     homepage = http://pmd.sourceforge.net/;
   };
 }
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 034285522292..c14e09e25b7f 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -23,4 +23,8 @@ stdenv.mkDerivation {
     url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
     sha1 = "d9e3e83dd9664cfe1dcd4841c082db3f559af922";
   };
+
+  meta = {
+    description = "Java-based build tool";
+  };
 }
diff --git a/pkgs/development/tools/build-managers/apache-ant/from-source.nix b/pkgs/development/tools/build-managers/apache-ant/from-source.nix
index 01fdd5541ecf..14213415ff84 100644
--- a/pkgs/development/tools/build-managers/apache-ant/from-source.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/from-source.nix
@@ -57,7 +57,7 @@ EOF
   '';
 
   meta = {
-    description = "Apache Ant, a Java-based build tool";
+    description = "Java-based build tool";
 
     longDescription = ''
       Apache Ant is a Java-based build tool.  In theory, it is kind of like
diff --git a/pkgs/development/tools/build-managers/colormake/default.nix b/pkgs/development/tools/build-managers/colormake/default.nix
index 9d62b4e187b1..25ef7ef0b246 100644
--- a/pkgs/development/tools/build-managers/colormake/default.nix
+++ b/pkgs/development/tools/build-managers/colormake/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A simple wrapper around make to colorize the output.";
+    description = "Simple wrapper around make to colorize the output";
     license = "GPLv2";
   };
 }
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 779b84d0ca86..b16640105503 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = http://leiningen.org/;
     description = "Project automation for Clojure";
     license = "EPL";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux;
     maintainer = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/development/tools/casperjs/default.nix b/pkgs/development/tools/casperjs/default.nix
index f140f0d7862d..bd63a0e68eeb 100644
--- a/pkgs/development/tools/casperjs/default.nix
+++ b/pkgs/development/tools/casperjs/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Navigation scripting & testing utility for PhantomJS.";
+    description = "Navigation scripting & testing utility for PhantomJS";
     longDescription = ''
       CasperJS is a navigation scripting & testing utility for PhantomJS.
       It eases the process of defining a full navigation scenario and provides useful high-level
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/haskell/packunused/default.nix b/pkgs/development/tools/haskell/packunused/default.nix
index 814c2774cb27..35d318d36bae 100644
--- a/pkgs/development/tools/haskell/packunused/default.nix
+++ b/pkgs/development/tools/haskell/packunused/default.nix
@@ -2,11 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "packunused";
-  version = "0.1.0.0";
-  sha256 = "131x99id3jcxglj24p5sjb6mnhphj925pp4jdjy09y6ai7wss3rs";
+  version = "0.1.0.1";
+  sha256 = "130717k4rknj5jl904cmb4h09msp4xjj84w6iwzc10lz736dk3jd";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal cmdargs filepath haskellSrcExts ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/hvr/packunused";
     description = "Tool for detecting redundant Cabal package dependencies";
diff --git a/pkgs/development/tools/misc/astyle/default.nix b/pkgs/development/tools/misc/astyle/default.nix
index 9b1e99557324..6128406bbe5b 100644
--- a/pkgs/development/tools/misc/astyle/default.nix
+++ b/pkgs/development/tools/misc/astyle/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://astyle.sourceforge.net/";
-    description = "source code reformatter";
+    description = "Source code indenter, formatter, and beautifier for C, C++, C# and Java";
     license = "LGPL";
 
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/tools/misc/autobuild/default.nix b/pkgs/development/tools/misc/autobuild/default.nix
index f8497b5deced..88246e4bb6eb 100644
--- a/pkgs/development/tools/misc/autobuild/default.nix
+++ b/pkgs/development/tools/misc/autobuild/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Simon Josefsson's Autobuild, a continuous integration tool";
+    description = "Continuous integration tool";
 
     longDescription = ''
       Autobuild is a package that process output from building
diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix
index 1dfe4d4a0a7b..2d8169d408fe 100644
--- a/pkgs/development/tools/misc/autoconf/2.13.nix
+++ b/pkgs/development/tools/misc/autoconf/2.13.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/autoconf/;
-    description = "GNU Autoconf, a part of the GNU Build System";
+    description = "Part of the GNU Build System";
 
     longDescription = ''
       GNU Autoconf is an extensible package of M4 macros that produce
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index b4de66d9bafc..08fcd95afb5e 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/autoconf/;
-    description = "GNU Autoconf, a part of the GNU Build System";
+    description = "Part of the GNU Build System";
 
     longDescription = ''
       GNU Autoconf is an extensible package of M4 macros that produce
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 25fa29526c9b..cd4f19694b2e 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -25,7 +25,7 @@ let version = "5.17"; in
     #doCheck = true; # 2 tests fail because of missing /dev/tty
 
     meta = {
-      description = "GNU AutoGen, an automated text and program generation tool";
+      description = "Automated text and program generation tool";
 
       longDescription = ''
         AutoGen is a tool designed to simplify the creation and maintenance
diff --git a/pkgs/development/tools/misc/automake/automake-1.10.x.nix b/pkgs/development/tools/misc/automake/automake-1.10.x.nix
index c015c0115fe4..80b033425a13 100644
--- a/pkgs/development/tools/misc/automake/automake-1.10.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.10.x.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/automake/;
-    description = "GNU Automake, a GNU standard-compliant makefile generator";
+    description = "GNU standard-compliant makefile generator";
 
     longDescription = ''
       GNU Automake is a tool for automatically generating
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 91c27deb8b82..0af9877c9355 100644
--- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/automake/;
-    description = "GNU Automake, a GNU standard-compliant makefile generator";
+    description = "GNU standard-compliant makefile generator";
 
     longDescription = ''
       GNU Automake is a tool for automatically generating
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 bd609c4a40d3..8bee4790bcb7 100644
--- a/pkgs/development/tools/misc/automake/automake-1.12.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.12.x.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/automake/;
-    description = "GNU Automake, a GNU standard-compliant makefile generator";
+    description = "GNU standard-compliant makefile generator";
 
     longDescription = ''
       GNU Automake is a tool for automatically generating
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 400d554b65e2..96a93e8d60b5 100644
--- a/pkgs/development/tools/misc/automake/automake-1.13.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.13.x.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://www.gnu.org/software/automake/";
-    description = "GNU Automake, a GNU standard-compliant makefile generator";
+    description = "GNU standard-compliant makefile generator";
     license = "GPLv2+";
 
     longDescription = ''
diff --git a/pkgs/development/tools/misc/avarice/default.nix b/pkgs/development/tools/misc/avarice/default.nix
index bc3785181a8f..e2c4c89e9987 100644
--- a/pkgs/development/tools/misc/avarice/default.nix
+++ b/pkgs/development/tools/misc/avarice/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     license = stdenv.lib.licenses.gpl2;
-    description = "AVaRICE translates between GDB's remote debug protocol and the AVR JTAG ICE protocol";
+    description = "Translator between GDB's remote debug protocol and the AVR JTAG ICE protocol";
     homepage = http://sourceforge.net/projects/avarice/files/avarice/;
     maintainers = [ stdenv.lib.maintainers.smironov ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 2cd00f51d9d4..05a0d9bbeb50 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "ccache, a tool that caches compilation results.";
+    description = "Compiler cache for fast recompilation of C/C++ code";
     homepage = http://ccache.samba.org/;
     license = "GPL";
   };
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index f09ab2af7d1d..e3acf620c73b 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "SysBench is a modular, cross-platform and multi-threaded benchmark tool.";
+    description = "Modular, cross-platform and multi-threaded benchmark tool";
     license = "GPLv2";
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index b7ed4fb8934a..e603768b8cc2 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -8,6 +8,6 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "Re2c is a tool for writing very fast and very flexible scanners.";
+    description = "Tool for writing very fast and very flexible scanners";
   };
 }
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index b904a6b5dcdb..7437e2e2262c 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -66,6 +66,6 @@ stdenv.mkDerivation rec {
         * even practicing guitar chords!
       '';
       license = "GPLv3";
-      platforms = stdenv.lib.platforms.all;
+      platforms = stdenv.lib.platforms.mesaPlatforms;
     };
 }
diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix
index 7e4f6b00587b..faf7366f2494 100644
--- a/pkgs/games/blobby/default.nix
+++ b/pkgs/games/blobby/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = ''A blobby volleyball game.'';
+    description = ''A blobby volleyball game'';
     license = with stdenv.lib.licenses; bsd3;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index 24c0b40edb3c..6e53aff65a57 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -1,13 +1,14 @@
-{stdenv, fetchurl, SDL, SDL_image, SDL_ttf, gtk, glib, mesa, openal, glibc, libsndfile}:
+{ 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.31.25";
+  name = "dwarf-fortress-0.34.11";
 
   src = fetchurl {
-    url = "http://www.bay12games.com/dwarves/df_31_25_linux.tar.bz2";
-    sha256 = "0d3klvf5n99j38pdhx9mak78px65aw47smck82jb92la97drmcg3";
+    url = "http://www.bay12games.com/dwarves/df_34_11_linux.tar.bz2";
+    sha256 = "1qk9vmdxzs0li81c8bglpj3m7aw9k71x1slf58hv2bz7hdndl3kj";
   };
 
   phases = "unpackPhase patchPhase installPhase";
@@ -22,10 +23,10 @@ stdenv.mkDerivation rec {
     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"
@@ -33,39 +34,48 @@ stdenv.mkDerivation rec {
      then export DF_DIR="\$XDG_DATA_HOME/df_linux"
     fi
 
-    # Recreate a directory sturctor reflecting the original distribution in the user directory
-
-    # 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
-    done
-
-    # link in persistant data
-    mkdir -p \$DF_DIR/save
-    ln -s \$DF_DIR/save \$DF_DIR/data/
-
-    # now run Dwarf Fortress! 
+    # 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
+
+      # 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
+      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
diff --git a/pkgs/games/dwarf-therapist/default.nix b/pkgs/games/dwarf-therapist/default.nix
new file mode 100644
index 000000000000..8ac84a96aeb5
--- /dev/null
+++ b/pkgs/games/dwarf-therapist/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, coreutils, fetchhg, qt4, dwarf_fortress, bash, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "dwarf-therapist-${rev}";
+  rev = "eeeac8544d94";
+
+  src = fetchhg {
+    url = "https://code.google.com/r/splintermind-attributes/";
+    tag = rev;
+    sha256 = "0a9m967q6p2q3plrl6qysg1xrdmg65jzil6awjh2wr3g10x2x15z";
+  };
+
+  # Needed for hashing
+  dwarfBinary = "${dwarf_fortress}/share/df_linux/libs/Dwarf_Fortress";
+
+  buildInputs = [ coreutils qt4 dwarf_fortress 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;
+  '';
+
+  postInstall = ''
+    # DwarfTherapist assumes it's run in $out/share/dwarftherapist and
+    # therefore uses many relative paths.
+    rm $out/bin/dwarftherapist
+    wrapProgram $out/bin/DwarfTherapist \
+      --run "cd $out/share/dwarftherapist"
+  '';
+
+  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)
+  '';
+
+  meta = {
+    description = "Tool to manage dwarves in in a running game of Dwarf Fortress";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    license = "MIT";
+    platforms = stdenv.lib.platforms.linux;
+    homepage = https://code.google.com/r/splintermind-attributes/;
+  };
+}
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index 898334a1d4ab..e35eb3266c2d 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -26,6 +26,9 @@ rec {
 
   name = "extremetuxracer-" + version;
   meta = {
-    description = "ExtremeTuxRacer - Tux lies on his belly and accelerates down ice slopes..";
+    description = "High speed arctic racing game based on Tux Racer";
+    longDescription = ''
+      ExtremeTuxRacer - Tux lies on his belly and accelerates down ice slopes.
+    '';
   };
 }
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index 049f10ad15b2..de62b4a669a2 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     ++ optional server readline;
 
   meta = with stdenv.lib; {
-    description = "multiplayer (or single player), turn-based strategy game.";
+    description = "Multiplayer (or single player), turn-based strategy game";
 
     longDescription = ''
       Freeciv is a Free and Open Source empire-building strategy game
diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix
index 3dded927ba1f..195679183776 100644
--- a/pkgs/games/gtypist/default.nix
+++ b/pkgs/games/gtypist/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://www.gnu.org/software/gtypist;
-    description = "GNU Typist (also called gtypist) is a universal typing tutor.";
+    description = "Universal typing tutor";
     license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index 6c860d42925a..f2ac737486c6 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -34,7 +34,7 @@ in stdenv.mkDerivation {
 
   meta = {
     homepage = "http://minetest.net/";
-    description = "Minetest is an infinite-world block sandbox game.";
+    description = "Infinite-world block sandbox game";
     license = "LGPLv2.1+";
   };
 }
diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix
new file mode 100644
index 000000000000..bd6e90111785
--- /dev/null
+++ b/pkgs/games/sdlmame/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, alsaLib, qt48, SDL, fontconfig, freetype, SDL_ttf, xlibs }:
+
+assert stdenv.system == "x86_64-linux" || stdenv.system == "1686-linux";
+
+stdenv.mkDerivation rec {
+  version = "0.150.u0-1";
+  name    = "sdlmame-${version}";
+
+  src = if stdenv.system == "x86_64-linux"
+    then fetchurl {
+      url    = "ftp://ftp.archlinux.org/community/os/x86_64/${name}-x86_64.pkg.tar.xz";
+      sha256 = "0393xnzrzq53szmicn96lvapm66wmlykdxaa1n7smx8a0mcz0kah";
+    }
+    else fetchurl {
+      url    = "ftp://ftp.archlinux.org/community/os/i686/${name}-i686.pkg.tar.xz";
+      sha256 = "0js67w2szd0qs7ycgxb3bbmcdziv1fywyd9ihra2f6bq5rhcs2jp";
+    };
+
+  buildPhase = ''
+    sed -i "s|/usr|$out|" bin/sdlmame
+  '';
+
+  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" \
+      share/sdlmame/sdlmame
+
+    mkdir -p "$out/bin"
+    cp -r bin/sdlmame "$out/bin"
+    cp -r share "$out"
+  '';
+
+  dontPatchELF = true;
+  dontStrip    = true;
+
+  meta = with stdenv.lib; {
+    homepage    = http://sdlmame.lngn.net;
+    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/spring/default.nix b/pkgs/games/spring/default.nix
index ba45360ccb6d..109cb239d2be 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -27,9 +27,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://springrts.com/;
-    description = "A powerful real-time strategy(RTS) game engine";
+    description = "A powerful real-time strategy (RTS) game engine";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom maintainers.qknight ];
-    platforms = platforms.unix;
+    platforms = platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index e6051a12a267..b78fd7d77888 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://springlobby.info/;
-    description = "A free cross-platform lobby client for the Spring RTS project.";
+    description = "Cross-platform lobby client for the Spring RTS project";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom maintainers.qknight];
     platforms = platforms.linux;
diff --git a/pkgs/games/super-tux/default.nix b/pkgs/games/super-tux/default.nix
index 60e9cc537bf0..945eaa7fbf88 100644
--- a/pkgs/games/super-tux/default.nix
+++ b/pkgs/games/super-tux/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   patches = [ ./g++4.patch ];
 
   meta = {
-    description = "SuperTux is a classic 2D jump'n run sidescroller game in a style similar to the original Super Mario games covered under the GPL.";
+    description = "Classic 2D jump'n run sidescroller game";
 
     homepage = http://supertux.lethargik.org/index.html;
 
diff --git a/pkgs/games/unvanquished/default.nix b/pkgs/games/unvanquished/default.nix
index 6d1c8e5607c9..2768d2fad9e1 100644
--- a/pkgs/games/unvanquished/default.nix
+++ b/pkgs/games/unvanquished/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A FLOSS FPS combining RTS elements with a futuristic, sci-fi setting.";
+    description = "FPS game set in a futuristic, sci-fi setting";
     longDescription = ''
       Unvanquished is a free, open-source first-person shooter
       combining real-time strategy elements with a futuristic, sci-fi
diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix
index aeb7e37cd7e4..84d15efb810f 100644
--- a/pkgs/games/warsow/default.nix
+++ b/pkgs/games/warsow/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     patchelf --set-rpath $cur_rpath:${mesa}/lib $p
   '';
   meta = {
-    description = "A multiplayer FPS designed for competitive gaming.";
+    description = "Multiplayer FPS game designed for competitive gaming";
     longDescription = ''
       Set in a futuristic cartoon-like world where rocketlauncher-wielding
       pigs and lasergun-carrying cyberpunks roam the streets, Warsow is a
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index 216ec0d8041a..13e7e487c8f0 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -77,7 +77,6 @@ stdenv.mkDerivation rec {
     homepage = http://worldofgoo.com;
     license = [ "unfree" ];
     maintainers = with stdenv.lib.maintainers; [ jcumming ];
-    platforms = [ "x86_64-linux"] ;
   };
 
 }
diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix
deleted file mode 100644
index 01d51779c809..000000000000
--- a/pkgs/lib/attrsets.nix
+++ /dev/null
@@ -1,329 +0,0 @@
-# Operations on attribute sets.
-
-with {
-  inherit (builtins) head tail isString;
-  inherit (import ./trivial.nix) or;
-  inherit (import ./default.nix) fold;
-  inherit (import ./strings.nix) concatStringsSep;
-  inherit (import ./lists.nix) concatMap concatLists all deepSeqList;
-  inherit (import ./misc.nix) maybeAttr;
-};
-
-rec {
-  inherit (builtins) attrNames listToAttrs hasAttr isAttrs getAttr;
-
-
-  /* Return an attribute from nested attribute sets.  For instance
-     ["x" "y"] applied to some set e returns e.x.y, if it exists.  The
-     default value is returned otherwise. */
-  attrByPath = attrPath: default: e:
-    let attr = head attrPath;
-    in
-      if attrPath == [] then e
-      else if builtins ? hasAttr && hasAttr attr e
-      then attrByPath (tail attrPath) default (getAttr attr e)
-      else default;
-
-
-  /* Return nested attribute set in which an attribute is set.  For instance
-     ["x" "y"] applied with some value v returns `x.y = v;' */
-  setAttrByPath = attrPath: value:
-    if attrPath == [] then value
-    else listToAttrs [(
-      nameValuePair (head attrPath) (setAttrByPath (tail attrPath) value)
-    )];
-
-
-  getAttrFromPath = attrPath: set:
-    let errorMsg = "cannot find attribute `" + concatStringsSep "." attrPath + "'";
-    in attrByPath attrPath (abort errorMsg) set;
-
-
-  /* Return the specified attributes from a set.
-
-     Example:
-       attrVals ["a" "b" "c"] as
-       => [as.a as.b as.c]
-  */
-  attrVals = nameList: set:
-    map (x: getAttr x set) nameList;
-
-
-  /* Return the values of all attributes in the given set, sorted by
-     attribute name.
-
-     Example:
-       attrValues {c = 3; a = 1; b = 2;}
-       => [1 2 3]
-  */
-  attrValues = attrs: attrVals (attrNames attrs) attrs;
-
-
-  /* Collect each attribute named `attr' from a list of attribute
-     sets.  Sets that don't contain the named attribute are ignored.
-
-     Example:
-       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);
-
-
-  /* Filter an attribute set by removing all attributes for which the
-     given predicate return false.
-
-     Example:
-       filterAttrs (n: v: n == "foo") { foo = 1; bar = 2; }
-       => { 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));
-
-
-  /* foldAttrs: apply fold functions to values grouped by key. Eg accumulate values as list:
-     foldAttrs (n: a: [n] ++ a) [] [{ a = 2; } { a = 3; }]
-     => { a = [ 2 3 ]; }
-  */
-  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); }])
-        ) a (attrNames n)
-    ) {} list_of_attrs;
-
-
-  /* Recursively collect sets that verify a given predicate named `pred'
-     from the set `attrs'.  The recursion is stopped when the predicate is
-     verified.
-
-     Type:
-       collect ::
-         (AttrSet -> Bool) -> AttrSet -> AttrSet
-
-     Example:
-       collect builtins.isList { a = { b = ["b"]; }; c = [1]; }
-       => [["b"] [1]]
-
-       collect (x: x ? outPath)
-          { a = { outPath = "a/"; }; b = { outPath = "b/"; }; }
-       => [{ outPath = "a/"; } { outPath = "b/"; }]
-  */
-  collect = pred: attrs:
-    if pred attrs then
-      [ attrs ]
-    else if builtins.isAttrs attrs then
-      concatMap (collect pred) (attrValues attrs)
-    else
-      [];
-
-
-  /* Utility function that creates a {name, value} pair as expected by
-     builtins.listToAttrs. */
-  nameValuePair = name: value: { inherit name value; };
-
-
-  /* Apply a function to each element in an attribute set.  The
-     function takes two arguments --- the attribute name and its value
-     --- and returns the new value for the attribute.  The result is a
-     new attribute set.
-
-     Example:
-       mapAttrs (name: value: name + "-" + value)
-          { x = "foo"; y = "bar"; }
-       => { x = "x-foo"; y = "y-bar"; }
-  */
-  mapAttrs = f: set:
-    listToAttrs (map (attr: nameValuePair attr (f attr (getAttr attr set))) (attrNames set));
-
-
-  /* Like `mapAttrs', but allows the name of each attribute to be
-     changed in addition to the value.  The applied function should
-     return both the new name and value as a `nameValuePair'.
-
-     Example:
-       mapAttrs' (name: value: nameValuePair ("foo_" + name) ("bar-" + value))
-          { x = "a"; y = "b"; }
-       => { foo_x = "bar-a"; foo_y = "bar-b"; }
-  */
-  mapAttrs' = f: set:
-    listToAttrs (map (attr: f attr (getAttr attr set)) (attrNames set));
-
-
-  /* Call a function for each attribute in the given set and return
-     the result in a list.
-
-     Example:
-       mapAttrsToList (name: value: name + value)
-          { x = "a"; y = "b"; }
-       => [ "xa" "yb" ]
-  */
-  mapAttrsToList = f: attrs:
-    map (name: f name (getAttr name attrs)) (attrNames attrs);
-
-
-  /* Like `mapAttrs', except that it recursively applies itself to
-     attribute sets.  Also, the first argument of the argument
-     function is a *list* of the names of the containing attributes.
-
-     Type:
-       mapAttrsRecursive ::
-         ([String] -> a -> b) -> AttrSet -> AttrSet
-
-     Example:
-       mapAttrsRecursive (path: value: concatStringsSep "-" (path ++ [value]))
-         { n = { a = "A"; m = { b = "B"; c = "C"; }; }; d = "D"; }
-       => { n = { a = "n-a-A"; m = { b = "n-m-b-B"; c = "n-m-c-C"; }; }; d = "d-D"; }
-  */
-  mapAttrsRecursive = mapAttrsRecursiveCond (as: true);
-
-
-  /* Like `mapAttrsRecursive', but it takes an additional predicate
-     function that tells it whether to recursive into an attribute
-     set.  If it returns false, `mapAttrsRecursiveCond' does not
-     recurse, but does apply the map function.  It is returns true, it
-     does recurse, and does not apply the map function.
-
-     Type:
-       mapAttrsRecursiveCond ::
-         (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet
-
-     Example:
-       # To prevent recursing into derivations (which are attribute
-       # sets with the attribute "type" equal to "derivation"):
-       mapAttrsRecursiveCond
-         (as: !(as ? "type" && as.type == "derivation"))
-         (x: ... do something ...)
-         attrs
-  */
-  mapAttrsRecursiveCond = cond: f: set:
-    let
-      recurse = path: set:
-        let
-          g =
-            name: value:
-            if isAttrs value && cond value
-              then recurse (path ++ [name]) value
-              else f (path ++ [name]) value;
-        in mapAttrs g set;
-    in recurse [] set;
-
-
-  /* Generate an attribute set by mapping a function over a list of
-     attribute names.
-
-     Example:
-       genAttrs [ "foo" "bar" ] (name: "x_" + name)
-       => { foo = "x_foo"; bar = "x_bar"; }
-  */
-  genAttrs = names: f:
-    listToAttrs (map (n: nameValuePair n (f n)) names);
-
-
-  /* Check whether the argument is a derivation. */
-  isDerivation = x: isAttrs x && x ? type && x.type == "derivation";
-
-
-  /* If the Boolean `cond' is true, return the attribute set `as',
-     otherwise an empty attribute set. */
-  optionalAttrs = cond: as: if cond then as else {};
-
-
-  /* Merge sets of attributes and use the function f to merge attributes
-     values. */
-  zipAttrsWithNames = names: f: sets:
-    listToAttrs (map (name: {
-      inherit name;
-      value = f name (catAttrs name sets);
-    }) names);
-
-  # implentation note: Common names  appear multiple times in the list of
-  # names, hopefully this does not affect the system because the maximal
-  # laziness avoid computing twice the same expression and listToAttrs does
-  # not care about duplicated attribute names.
-  zipAttrsWith = f: sets: zipWithNames (concatMap attrNames sets) f sets;
-
-  zipAttrs = zipAttrsWith (name: values: values);
-
-  /* backward compatibility */
-  zipWithNames = zipAttrsWithNames;
-  zip = builtins.trace "lib.zip is deprecated, use lib.zipAttrsWith instead" zipAttrsWith;
-
-
-  /* Does the same as the update operator '//' except that attributes are
-     merged until the given pedicate is verified.  The predicate should
-     accept 3 arguments which are the path to reach the attribute, a part of
-     the first attribute set and a part of the second attribute set.  When
-     the predicate is verified, the value of the first attribute set is
-     replaced by the value of the second attribute set.
-
-     Example:
-       recursiveUpdateUntil (path: l: r: path == ["foo"]) {
-         # first attribute set
-         foo.bar = 1;
-         foo.baz = 2;
-         bar = 3;
-       } {
-         #second attribute set
-         foo.bar = 1;
-         foo.quz = 2;
-         baz = 4;
-       }
-
-       returns: {
-         foo.bar = 1; # 'foo.*' from the second set
-         foo.quz = 2; #
-         bar = 3;     # 'bar' from the first set
-         baz = 4;     # 'baz' from the second set
-       }
-
-     */
-  recursiveUpdateUntil = pred: lhs: rhs:
-    let f = attrPath:
-      zipAttrsWith (n: values:
-        if tail values == []
-        || pred attrPath (head (tail values)) (head values) then
-          head values
-        else
-          f (attrPath ++ [n]) values
-      );
-    in f [] [rhs lhs];
-
-  /* A recursive variant of the update operator ‘//’.  The recusion
-     stops when one of the attribute values is not an attribute set,
-     in which case the right hand side value takes precedence over the
-     left hand side value.
-
-     Example:
-       recursiveUpdate {
-         boot.loader.grub.enable = true;
-         boot.loader.grub.device = "/dev/hda";
-       } {
-         boot.loader.grub.device = "";
-       }
-
-       returns: {
-         boot.loader.grub.enable = true;
-         boot.loader.grub.device = "";
-       }
-
-     */
-  recursiveUpdate = lhs: rhs:
-    recursiveUpdateUntil (path: lhs: rhs:
-      !(isAttrs lhs && isAttrs rhs)
-    ) lhs rhs;
-
-  matchAttrs = pattern: attrs:
-    fold or false (attrValues (zipAttrsWithNames (attrNames pattern) (n: values:
-      let pat = head values; val = head (tail values); in
-      if length values == 1 then false
-      else if isAttrs pat then isAttrs val && matchAttrs head values
-      else pat == val
-    ) [pattern attrs]));
-
-  # 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));
-
-  deepSeqAttrs = x: y: deepSeqList (attrValues x) y;
-}
diff --git a/pkgs/lib/composable-derivation.nix b/pkgs/lib/composable-derivation.nix
deleted file mode 100644
index 1099bd152bf6..000000000000
--- a/pkgs/lib/composable-derivation.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{lib, pkgs} :
-let inherit (lib) nv nvs; in
-{
-  # see for example:
-  # - development/interpreters/php_configurable/default.nix
-  # - .. search composableDerivation in all-packages.nix ..
-  #
-  # You should be able to override anything you like easily
-  # grep the mailinglist by title "python proposal" (dec 08)
-  # -> http://mail.cs.uu.nl/pipermail/nix-dev/2008-December/001571.html
-  # to see why this got complicated when using all its features
-  # TODO add newer example using new syntax (kernel derivation proposal -> mailinglist)
-  composableDerivation = {
-        mkDerivation ? pkgs.stdenv.mkDerivation,
-
-        # list of functions to be applied before defaultOverridableDelayableArgs removes removeAttrs names
-        # prepareDerivationArgs handles derivation configurations
-        applyPreTidy ? [ lib.prepareDerivationArgs ],
-
-        # consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; };
-        removeAttrs ? ["cfg" "flags"]
-
-      }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a) 
-         {
-           inherit applyPreTidy removeAttrs;
-         }).merge;
-
-  # some utility functions
-  # use this function to generate flag attrs for prepareDerivationArgs
-  # E nable  D isable F eature
-  edf = {name, feat ? name, enable ? {}, disable ? {} , value ? ""}:
-    nvs name {
-    set = {
-      configureFlags = ["--enable-${feat}${if value == "" then "" else "="}${value}"];
-    } // enable;
-    unset = {
-      configureFlags = ["--disable-${feat}"];
-    } // disable;
-  };
-
-  # same for --with and --without-
-  # W ith or W ithout F eature
-  wwf = {name, feat ? name, enable ? {}, disable ? {}, value ? ""}:
-    nvs name {
-    set = enable // {
-      configureFlags = ["--with-${feat}${if value == "" then "" else "="}${value}"]
-                       ++ lib.maybeAttr "configureFlags" [] enable;
-    };
-    unset = disable // {
-      configureFlags = ["--without-${feat}"]
-                       ++ lib.maybeAttr "configureFlags" [] disable;
-    };
-  };
-}
diff --git a/pkgs/lib/customisation.nix b/pkgs/lib/customisation.nix
deleted file mode 100644
index bfa61169efb1..000000000000
--- a/pkgs/lib/customisation.nix
+++ /dev/null
@@ -1,116 +0,0 @@
-let lib = import ./default.nix;
-    inherit (builtins) getAttr attrNames isFunction;
-
-in
-
-rec {
-
-
-  /* `overrideDerivation drv f' takes a derivation (i.e., the result
-     of a call to the builtin function `derivation') and returns a new
-     derivation in which the attributes of the original are overriden
-     according to the function `f'.  The function `f' is called with
-     the original derivation attributes.
-
-     `overrideDerivation' allows certain "ad-hoc" customisation
-     scenarios (e.g. in ~/.nixpkgs/config.nix).  For instance, if you
-     want to "patch" the derivation returned by a package function in
-     Nixpkgs to build another version than what the function itself
-     provides, you can do something like this:
-
-       mySed = overrideDerivation pkgs.gnused (oldAttrs: {
-         name = "sed-4.2.2-pre";
-         src = fetchurl {
-           url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
-           sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k";
-         };
-         patches = [];
-       });
-
-     For another application, see build-support/vm, where this
-     function is used to build arbitrary derivations inside a QEMU
-     virtual machine. */
-     
-  overrideDerivation = drv: f:
-    let
-      newDrv = derivation (drv.drvAttrs // (f drv));
-    in addPassthru newDrv (
-      { meta = drv.meta or {};
-        passthru = if drv ? passthru then drv.passthru else {};
-      }
-      //
-      (drv.passthru or {})
-      //
-      (if (drv ? crossDrv && drv ? nativeDrv)
-       then {
-         crossDrv = overrideDerivation drv.crossDrv f;
-         nativeDrv = overrideDerivation drv.nativeDrv f;
-       }
-       else { }));
-
-
-  # usage: (you can use override multiple times)
-  # let d = makeOverridable stdenv.mkDerivation { name = ..; buildInputs; }
-  #     noBuildInputs = d.override { buildInputs = []; }
-  #     additionalBuildInputs = d.override ( args : args // { buildInputs = args.buildInputs ++ [ additional ]; } )
-  makeOverridable = f: origArgs:
-    let
-      ff = f origArgs;
-    in
-      if builtins.isAttrs ff then (ff //
-        { override = newArgs:
-            makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
-          deepOverride = newArgs:
-            makeOverridable f (lib.overrideExisting (lib.mapAttrs (deepOverrider newArgs) origArgs) newArgs);
-        })
-      else ff;
-
-  deepOverrider = newArgs: name: x: if builtins.isAttrs x then (
-    if x ? deepOverride then (x.deepOverride newArgs) else
-    if x ? override then (x.override newArgs) else
-    x) else x;
-
-
-  /* Call the package function in the file `fn' with the required
-    arguments automatically.  The function is called with the
-    arguments `args', but any missing arguments are obtained from
-    `autoArgs'.  This function is intended to be partially
-    parameterised, e.g.,
-
-      callPackage = callPackageWith pkgs;
-      pkgs = {
-        libfoo = callPackage ./foo.nix { };
-        libbar = callPackage ./bar.nix { };
-      };
-
-    If the `libbar' function expects an argument named `libfoo', it is
-    automatically passed as an argument.  Overrides or missing
-    arguments can be supplied in `args', e.g.
-
-      libbar = callPackage ./bar.nix {
-        libfoo = null;
-        enableX11 = true;
-      };
-  */
-  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);
-
-  /* Add attributes to each output of a derivation without changing the derivation itself */
-  addPassthru = drv: passthru:
-    let
-      outputs = drv.outputs or [ "out" ];
-
-      commonAttrs = drv // (builtins.listToAttrs outputsList) //
-        ({ all = map (x: x.value) outputsList; }) // passthru;
-
-      outputToAttrListElement = outputName:
-        { name = outputName;
-          value = commonAttrs // {
-            inherit (builtins.getAttr outputName drv) outPath drvPath type outputName;
-          };
-        };
-
-      outputsList = map outputToAttrListElement outputs;
-  in builtins.getAttr drv.outputName commonAttrs;
-}
diff --git a/pkgs/lib/debug.nix b/pkgs/lib/debug.nix
deleted file mode 100644
index d627bc861abb..000000000000
--- a/pkgs/lib/debug.nix
+++ /dev/null
@@ -1,119 +0,0 @@
-let lib = import ./default.nix;
-
-inherit (builtins) trace attrNamesToStr isAttrs isFunction isList isInt
-        isString isBool head substring attrNames;
-
-inherit (lib) all id mapAttrsFlatten elem;
-
-in
-
-rec {
-
-
-  # 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;
-  attrNamesToStr = a : lib.concatStringsSep "; " (map (x : "${x}=") (attrNames a));
-  showVal = x :
-      if isAttrs x then
-          if x ? outPath then "x is a derivation, name ${if x ? name then x.name else "<no name>"}, { ${attrNamesToStr x} }"
-          else "x is attr set { ${attrNamesToStr x} }"
-      else if isFunction x then "x is a function"
-      else if x == [] then "x is an empty list"
-      else if isList x then "x is a list, first element is: ${showVal (head x)}"
-      else if x == true then "x is boolean true"
-      else if x == false then "x is boolean false"
-      else if x == null then "x is null"
-      else if isInt x then "x is an integer `${toString x}'"
-      else if isString x then "x is a string `${substring 0 50 x}...'"
-      else "x is probably a path `${substring 0 50 (toString x)}...'";
-
-  # trace the arguments passed to function and its result 
-  # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
-  traceCall  = n : f : a : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
-  traceCall2 = n : f : a : b : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
-  traceCall3 = n : f : a : b : c : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
-
-  traceValIfNot = c: x:
-    if c x then true else trace (showVal x) false;
-
-  /* Evaluate a set of tests.  A test is an attribute set {expr,
-     expected}, denoting an expression and its expected result.  The
-     result is a list of failed tests, each represented as {name,
-     expected, actual}, denoting the attribute name of the failing
-     test and its expected and actual results.  Used for regression
-     testing of the functions in lib; see tests.nix for an example.
-     Only tests having names starting with "test" are run.
-     Add attr { tests = ["testName"]; } to run these test only
-  */
-  runTests = tests: lib.concatLists (lib.attrValues (lib.mapAttrs (name: test:
-    let testsToRun = if tests ? tests then tests.tests else [];
-    in if (substring 0 4 name == "test" ||  elem name testsToRun)
-       && ((testsToRun == []) || elem name tests.tests)
-       && (test.expr != test.expected)
-
-      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; };
-
-  # evaluate everything once so that errors will occur earlier
-  # hacky: traverse attrs by adding a dummy
-  # ignores functions (should this behavior change?) See strictf
-  #
-  # Note: This should be a primop! Something like seq of haskell would be nice to
-  # have as well. It's used fore debugging only anyway
-  strict = x :
-    let
-        traverse = x :
-          if isString x then true
-          else if isAttrs x then
-            if x ? outPath then true
-            else all id (mapAttrsFlatten (n: traverse) x)
-          else if isList x then
-            all id (map traverse x)
-          else if isBool x then true
-          else if isFunction x then true
-          else if isInt x then true
-          else if x == null then true
-          else true; # a (store) path?
-    in if traverse x then x else throw "else never reached";
-
-  # example: (traceCallXml "myfun" id 3) will output something like
-  # calling myfun arg 1: 3 result: 3
-  # this forces deep evaluation of all arguments and the result!
-  # note: if result doesn't evaluate you'll get no trace at all (FIXME)
-  #       args should be printed in any case
-  traceCallXml = a:
-    if !isInt a then
-      traceCallXml 1 "calling ${a}\n"
-    else
-      let nr = a;
-      in (str: expr:
-          if isFunction expr then
-            (arg: 
-              traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (strict arg)}" (expr arg)
-            )
-          else 
-            let r = strict expr;
-            in builtins.trace "${str}\n result:\n${builtins.toXML r}" r
-      );
-}
diff --git a/pkgs/lib/default.nix b/pkgs/lib/default.nix
deleted file mode 100644
index dea82ee077eb..000000000000
--- a/pkgs/lib/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-let 
-
-  trivial = import ./trivial.nix;
-  lists = import ./lists.nix;
-  strings = import ./strings.nix;
-  stringsWithDeps = import ./strings-with-deps.nix;
-  attrsets = import ./attrsets.nix;
-  sources = import ./sources.nix;
-  modules = import ./modules.nix;
-  options = import ./options.nix;
-  properties = import ./properties.nix;
-  types = import ./types.nix;
-  meta = import ./meta.nix;
-  debug = import ./debug.nix;
-  misc = import ./misc.nix;
-  maintainers = import ./maintainers.nix;
-  platforms = import ./platforms.nix;
-  systems = import ./systems.nix;
-  customisation = import ./customisation.nix;
-  licenses = import ./licenses.nix;
-
-in
-  { inherit trivial lists strings stringsWithDeps attrsets sources options
-      properties modules types meta debug maintainers licenses platforms systems;
-  }
-  # !!! don't include everything at top-level; perhaps only the most
-  # commonly used functions.
-  // trivial // lists // strings // stringsWithDeps // attrsets // sources
-  // properties // options // types // meta // debug // misc // modules
-  // systems
-  // customisation
diff --git a/pkgs/lib/licenses.nix b/pkgs/lib/licenses.nix
deleted file mode 100644
index 55517c5e1e5e..000000000000
--- a/pkgs/lib/licenses.nix
+++ /dev/null
@@ -1,235 +0,0 @@
-{
-  /* License identifiers loosely based on: http://fedoraproject.org/wiki/Licensing
-   * 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.
-   */
-
-  artistic2 = {
-    shortName = "Artistic 2.0";
-    fullName = "Artistic 2.0";
-    url = "http://opensource.org/licenses/artistic-license-2.0.php";
-  };
-
-  agpl3 = {
-    shortName = "AGPLv3";
-    fullName = "GNU Affero General Public License version 3 only";
-    url = https://www.gnu.org/licenses/agpl.html;
-  };
-
-  agpl3Plus = {
-    shortName = "AGPLv3+";
-    fullName = "GNU Affero General Public License version 3 or later";
-    url = https://www.gnu.org/licenses/agpl.html;
-  };
-
-  amd = {
-    shortName = "amd";
-    fullName = "AMD License Agreement";
-    url = "http://developer.amd.com/amd-license-agreement/";
-  };
-
-  amdadl = {
-    shortName = "amd-adl";
-    fullName = "amd-adl license";
-    url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/AMD-ADL?revision=1.1";
-  };
-
-  # Apple Public Source License 2.0;
-  # http://opensource.org/licenses/APSL-2.0
-  apsl20 = "APSL 2.0";
-
-  asl20 = {
-    shortName = "ASL2.0";
-    fullName = "Apache Software License 2.0";
-    url = http://www.apache.org/licenses/LICENSE-2.0;
-  };
-
-  boost = {
-    shortName = "boost";
-    fullName = "Boost Software License";
-    url = http://www.boost.org/LICENSE_1_0.txt;
-  };
-
-  bsd2 = {
-    shortName = "BSD-2";
-    fullName = "BSD license (2 clause)";
-    url = http://opensource.org/licenses/BSD-2-Clause;
-  };
-
-  bsd3 = {
-    shortName = "BSD-3";
-    fullName = "BSD license (3 clause)";
-    url = http://opensource.org/licenses/BSD-3-Clause;
-  };
-
-  bsdOriginal = {
-    shortName = "BSD-original";
-    fullName = "Original BSD license with advertising clause";
-    url = https://fedoraproject.org/wiki/Licensing/BSD;
-  };
-
-  cddl = {
-    shortName = "CDDL";
-    fullName = "Common Development Distribution License ";
-    url = http://www.opensolaris.org/os/licensing/cddllicense.txt;
-  };
-
-  cpl10 = {
-    shortName = "CPL 1.0";
-    fullName = "Common Public License version 1.0";
-    url = http://www.eclipse.org/legal/cpl-v10.html;
-  };
-
-  epl10 = {
-    shortName = "EPL 1.0";
-    fullName = "Eclipse Public License version 1.0";
-    url = http://www.eclipse.org/legal/epl-v10.html;
-  };
-
-  gpl2 = "GPLv2";
-
-  gpl2Oss = {
-    shortName = "GPLv2+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;
-  };
-
-  # GNU General Public License version 2 or later;
-  # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-  gpl2Plus = "GPLv2+";
-
-  gpl3 = {
-    shortName = "GPLv3";
-    fullName = "GNU General Public License version 3 only";
-    url = http://www.fsf.org/licensing/licenses/gpl.html;
-  };
-
-  gpl3Plus = {
-    shortName = "GPLv3+";
-    fullName = "GNU General Public License version 3 or later";
-    url = http://www.fsf.org/licensing/licenses/gpl.html;
-  };
-
-  gpl3ClasspathPlus = {
-    shortName = "GPLv3+classpath+";
-    fullName = "GNU General Public License version 3 or later (with Classpath exception)";
-    url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
-  };
-
-  isc = {
-    shortName = "ISC";
-    fullName = "Internet Systems Consortium License";
-    url = http://www.opensource.org/licenses/ISC;
-  };
-
-  ipl10 = {
-    shortName = "IPL 1.0";
-    fullName = "IBM Public License Version 1.0";
-    url = http://www.ibm.com/developerworks/opensource/library/os-i18n2/os-ipl.html;
-  };
-
-  ijg = {
-    shortName = "IJG";
-    fullName = "Independent JPEG Group License";
-    url = https://fedoraproject.org/wiki/Licensing/IJG;
-  };
-
-  libtiff = {
-    shortName = "libtiff";
-    fullName = "libtiff license";
-    url = https://fedoraproject.org/wiki/Licensing/libtiff;
-  };
-
-  lgpl2 = "LGPLv2";
-
-  lgpl2Plus = {
-    shortName = "LGPLv2+";
-    fullName = "GNU Library General Public License version 2 or later";
-    url = http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html;
-  };
-
-  lgpl21 = "LGPLv2.1";
-
-  lgpl21Plus = {
-    shortName = "LGPLv2.1+";
-    fullName = "GNU Lesser General Public License version 2.1 or later";
-    url = http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html;
-  };
-
-  llgpl21 = {
-    shortName = "LLGPLv2.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;
-  };
-
-  lgpl3 = {
-    shortName = "LGPLv3";
-    fullName = "GNU Lesser General Public License version 3 only";
-    url = http://www.fsf.org/licensing/licenses/lgpl.html;
-  };
-
-  lgpl3Plus = {
-    shortName = "LGPLv3+";
-    fullName = "GNU Lesser General Public License version 3 or later";
-    url = http://www.fsf.org/licensing/licenses/lgpl.html;
-  };
-
-  mit = {
-    shortName = "MIT";
-    fullName = "MIT/X11 license";
-    url = http://www.opensource.org/licenses/mit-license.php;
-  };
-
-  mpl11 = {
-    shortName = "MPL1.1";
-    fullName = "Mozilla Public License version 1.1";
-    url = http://www.mozilla.org/MPL/MPL-1.1.html;
-  };
-
-  openssl = {
-    shortName = "openssl";
-    fullName = "OpenSSL license";
-    url = http://www.openssl.org/source/license.html;
-  };
-
-  publicDomain = {
-    shortName = "Public Domain";
-    fullname = "Public Domain";
-  };
-
-  psfl = {
-    shortName = "PSFL";
-    fullName = "Python Software Foundation License";
-    url = http://docs.python.org/license.html;
-  };
-
-  tcltk = {
-    shortName = "Tcl/Tk";
-    fullName = "Tcl/Tk license";
-    url = http://www.tcl.tk/software/tcltk/license.html;
-  };
-
-  unfree = "unfree";
-
-  unfreeRedistributable = "unfree-redistributable";
-
-  unfreeRedistributableFirmware = "unfree-redistributable-firmware";
-
-  zlib = {
-    shortName = "zlib";
-    fullName = "zlib license";
-    url = http://www.gzip.org/zlib/zlib_license.html;
-  };
-
-  zpt20 = {
-    shortName = "ZPT2.0";
-    fullName = "Zope Public License 2.0";
-    url = "http://old.zope.org/Resources/License/ZPL-2.0";
-  };
-
-  zpt21 = {
-    shortName = "ZPT2.1";
-    fullName = "Zope Public License 2.1";
-    url = "http://old.zope.org/Resources/License/ZPL-2.1";
-  };
-}
diff --git a/pkgs/lib/lists.nix b/pkgs/lib/lists.nix
deleted file mode 100644
index 578686ae3668..000000000000
--- a/pkgs/lib/lists.nix
+++ /dev/null
@@ -1,235 +0,0 @@
-# General list operations.
-let
-  inherit (import ./trivial.nix) deepSeq;
-
-  inc = builtins.add 1;
-
-  dec = n: builtins.sub n 1;
-
-  inherit (builtins) elemAt;
-in rec {
-  inherit (builtins) head tail length isList add sub lessThan;
-
-
-  # Create a list consisting of a single element.  `singleton x' is
-  # sometimes more convenient with respect to indentation than `[x]'
-  # when x spans multiple lines.
-  singleton = x: [x];
-
-
-  # "Fold" a binary function `op' between successive elements of
-  # `list' with `nul' as the starting value, i.e., `fold op nul [x_1
-  # x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))'.  (This is
-  # Haskell's foldr).
-  fold = op: nul: list:
-    let
-      len = length list;
-      fold' = n:
-        if n == len
-        then nul
-        else op (elemAt list n) (fold' (inc n));
-    in fold' 0;
-
-  # Left fold: `fold op nul [x_1 x_2 ... x_n] == op (... (op (op nul
-  # x_1) x_2) ... x_n)'.
-  foldl = op: nul: list:
-    let
-      len = length list;
-      foldl' = n:
-        if n == minus1
-        then nul
-        else op (foldl' (dec n)) (elemAt list n);
-    in foldl' (dec (length list));
-
-  minus1 = dec 0;
-
-
-  # map with index: `imap (i: v: "${v}-${toString i}") ["a" "b"] ==
-  # ["a-1" "b-2"]'
-  imap = f: list:
-    let
-      len = length list;
-      imap' = n:
-        if n == len
-          then []
-          else [ (f (inc n) (elemAt list n)) ] ++ imap' (inc n);
-    in imap' 0;
-
-    
-  # Concatenate a list of lists.
-  concatLists = builtins.concatLists or (fold (x: y: x ++ y) []);
-
-
-  # Map and concatenate the result.
-  concatMap = f: list: concatLists (map f list);
-
-
-  # Flatten the argument into a single list; that is, nested lists are
-  # spliced into the top-level lists.  E.g., `flatten [1 [2 [3] 4] 5]
-  # == [1 2 3 4 5]' and `flatten 1 == [1]'.
-  flatten = x:
-    if isList x
-    then fold (x: y: (flatten x) ++ y) [] x
-    else [x];
-
-    
-  # Filter a list using a predicate; that is, return a list containing
-  # every element from `list' for which `pred' returns true.
-  filter =
-    builtins.filter or
-    (pred: list:
-      fold (x: y: if pred x then [x] ++ y else y) [] list);
-
-    
-  # Remove elements equal to 'e' from a list.  Useful for buildInputs.
-  remove = e: filter (x: x != e);
-
-  
-  # Return true if `list' has an element `x'.
-  elem =
-    builtins.elem or
-    (x: list: fold (a: bs: x == a || bs) false list);
-
-
-  # Find the sole element in the list matching the specified
-  # predicate, returns `default' if no such element exists, or
-  # `multiple' if there are multiple matching elements.
-  findSingle = pred: default: multiple: list:
-    let found = filter pred list; len = length found;
-    in if len == 0 then default
-      else if len != 1 then multiple
-      else head found;
-
-
-  # Find the first element in the list matching the specified
-  # predicate or returns `default' if no such element exists.
-  findFirst = pred: default: list:
-    let found = filter pred list;
-    in if found == [] then default else head found;
-       
-
-  # Return true iff function `pred' returns true for at least element
-  # of `list'.
-  any = pred: fold (x: y: if pred x then true else y) false;
-
-
-  # Return true iff function `pred' returns true for all elements of
-  # `list'.
-  all = pred: fold (x: y: if pred x then y else false) true;
-
-
-  # Return a singleton list or an empty list, depending on a boolean
-  # value.  Useful when building lists with optional elements
-  # (e.g. `++ optional (system == "i686-linux") flashplayer').
-  optional = cond: elem: if cond then [elem] else [];
-
-
-  # Return a list or an empty list, dependening on a boolean value.
-  optionals = cond: elems: if cond then elems else [];
-
-
-  # If argument is a list, return it; else, wrap it in a singleton
-  # list.  If you're using this, you should almost certainly
-  # reconsider if there isn't a more "well-typed" approach.
-  toList = x: if builtins.isList x then x else [x];
-
-    
-  # Return a list of integers from `first' up to and including `last'.
-  range = first: last:
-    if builtins.lessThan last first
-    then []
-    else [first] ++ range (builtins.add first 1) last;
-
-    
-  # Partition the elements of a list in two lists, `right' and
-  # `wrong', depending on the evaluation of a predicate.
-  partition = pred:
-    fold (h: t:
-      if pred h
-      then { right = [h] ++ t.right; wrong = t.wrong; }
-      else { right = t.right; wrong = [h] ++ t.wrong; }
-    ) { right = []; wrong = []; };
-
-
-  zipListsWith = f: fst: snd:
-    let
-      len1 = length fst;
-      len2 = length snd;
-      len = if builtins.lessThan len1 len2 then len1 else len2;
-      zipListsWith' = n:
-        if n != len then
-          [ (f (elemAt fst n) (elemAt snd n)) ]
-          ++ zipListsWith' (inc n)
-        else [];
-    in zipListsWith' 0;
-
-  zipLists = zipListsWith (fst: snd: { inherit fst snd; });
-
-  
-  # Reverse the order of the elements of a list.
-  reverseList = fold (e: acc: acc ++ [ e ]) [];
-
-  # Sort a list based on a comparator function which compares two
-  # elements and returns true if the first argument is strictly below
-  # the second argument.  The returned list is sorted in an increasing
-  # order.  The implementation does a quick-sort.
-  sort = strictLess: list:
-    let
-      len = length list;
-      first = head list;
-      pivot' = n: acc@{ left, right }: let el = elemAt list n; next = pivot' (inc n); in
-        if n == len
-          then acc
-        else if strictLess first el
-          then next { inherit left; right = [ el ] ++ right; }
-        else
-          next { left = [ el ] ++ left; inherit right; };
-      pivot = pivot' 1 { left = []; right = []; };
-    in
-      if lessThan len 2 then list
-      else (sort strictLess pivot.left) ++  [ first ] ++  (sort strictLess pivot.right);
-
-
-  # Return the first (at most) N elements of a list.
-  take = count: list:
-    let
-      len = length list;
-      take' = n:
-        if n == len || n == count
-          then []
-        else
-          [ (elemAt list n) ] ++ take' (inc n);
-    in take' 0;
-
-    
-  # Remove the first (at most) N elements of a list.
-  drop = count: list:
-    let
-      len = length list;
-      drop' = n:
-        if n == minus1 || lessThan n count
-          then []
-        else
-          drop' (dec n) ++ [ (elemAt list n) ];
-    in drop' (dec len);
-
-    
-  last = list:
-    assert list != []; elemAt list (dec (length list));
-
-
-  # Zip two lists together.
-  zipTwoLists = xs: ys:
-    let
-      len1 = length xs;
-      len2 = length ys;
-      len = if lessThan len1 len2 then len1 else len2;
-      zipTwoLists' = n:
-        if n != len then
-          [ { first = elemAt xs n; second = elemAt ys n; } ]
-          ++ zipTwoLists' (inc n)
-        else [];
-    in zipTwoLists' 0;
-
-  deepSeqList = xs: y: if any (x: deepSeq x false) xs then y else y;
-}
diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix
deleted file mode 100644
index 06c71b2b7ac8..000000000000
--- a/pkgs/lib/maintainers.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- coding: utf-8; -*- */
-
-{
-  /* Add your name and email address here.  Keep the list
-     alphabetically sorted.  */
-
-  aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
-  algorith = "Dries Van Daele <dries_van_daele@telenet.be>";
-  all = "Nix Committers <nix-commits@lists.science.uu.nl>";
-  amiddelk = "Arie Middelkoop <amiddelk@gmail.com>";
-  amorsillo = "Andrew Morsillo <andrew.morsillo@gmail.com>";
-  andres = "Andres Loeh <ksnixos@andres-loeh.de>";
-  antono = "Antono Vasiljev <self@antono.info>";
-  astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
-  aszlig = "aszlig <aszlig@redmoonstudios.org>";
-  bbenoist = "Baptist BENOIST <return_0@live.com>";
-  bjg = "Brian Gough <bjg@gnu.org>";
-  bjornfor = "Bjørn Forsman <bjorn.forsman@gmail.com>";
-  bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
-  bodil = "Bodil Stokke <nix@bodil.org>";
-  chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
-  coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
-  coroa = "Jonas Hörsch <jonas@chaoflow.net>";
-  edwtjo = "Edward Tjörnhammar <ed@cflags.cc>";
-  eelco = "Eelco Dolstra <eelco.dolstra@logicblox.com>";
-  ertes = "Ertugrul Söylemez <es@ertes.de>";
-  garbas = "Rok Garbas <rok@garbas.si>";
-  goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
-  guibert = "David Guibert <david.guibert@gmail.com>";
-  iElectric = "Domen Kozar <domen@dev.si>";
-  iyzsong = "Song Wenwu <iyzsong@gmail.com>";
-  jcumming = "Jack Cummings <jack@mudshark.org>";
-  kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
-  lovek323 = "Jason O'Conal <jason@oconal.id.au>";
-  ludo = "Ludovic Courtès <ludo@gnu.org>";
-  marcweber = "Marc Weber <marco-oweber@gmx.de>";
-  modulistic = "Pablo Costa <modulistic@gmail.com>";
-  mornfall = "Petr Ročkai <me@mornfall.net>";
-  ocharles = "Oliver Charles <ollie@ocharles.org.uk>";
-  offline = "Jaka Hudoklin <jakahudoklin@gmail.com>";
-  orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
-  page = "Carles Pagès <page@cubata.homelinux.net>";
-  phreedom = "Evgeny Egorochkin <phreedom@yandex.ru>";
-  pierron = "Nicolas B. Pierron <nixos@nbp.name>";
-  piotr = "Piotr Pietraszkiewicz <ppietrasa@gmail.com>";
-  pSub = "Pascal Wittmann <mail@pascal-wittmann.de>";
-  qknight = "Joachim Schiele <js@lastlog.de>";
-  raskin = "Michael Raskin <7c6f434c@mail.ru>";
-  rickynils = "Rickard Nilsson <rickynils@gmail.com>";
-  rob = "Rob Vermaas <rob.vermaas@gmail.com>";
-  roconnor = "Russell O'Connor <roconnor@theorem.ca>";
-  sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
-  shlevy = "Shea Levy <shea@shealevy.com>";
-  simons = "Peter Simons <simons@cryp.to>";
-  smironov = "Sergey Mironov <ierton@gmail.com>";
-  thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
-  the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
-  urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
-  vcunat = "Vladimír Čunát <vcunat@gmail.com>";
-  viric = "Lluís Batlle i Rossell <viric@viric.name>";
-  vizanto = "Danny Wilson <danny@prime.vc>";
-  winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
-  z77z = "Marco Maggesi <maggesi@math.unifi.it>";
-  zef = "Zef Hemel <zef@zef.me>";
-}
diff --git a/pkgs/lib/meta.nix b/pkgs/lib/meta.nix
deleted file mode 100644
index a5afce9e0cb1..000000000000
--- a/pkgs/lib/meta.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Some functions for manipulating meta attributes, as well as the
-   name attribute. */
-
-rec {
-
-
-  /* Add to or override the meta attributes of the given
-     derivation.
-
-     Example:
-       addMetaAttrs {description = "Bla blah";} somePkg
-  */
-  addMetaAttrs = newAttrs: drv:
-    drv // { meta = (if drv ? meta then drv.meta else {}) // newAttrs; };
-
-
-  /* Change the symbolic name of a package for presentation purposes
-     (i.e., so that nix-env users can tell them apart).
-  */
-  setName = name: drv: drv // {inherit name;};
-
-
-  /* Like `setName', but takes the previous name as an argument.
-
-     Example:
-       updateName (oldName: oldName + "-experimental") somePkg
-  */
-  updateName = updater: drv: drv // {name = updater (drv.name);};
-
-
-  /* Append a suffix to the name of a package.  !!! the suffix should
-     really be appended *before* the version, at least most of the
-     time.
-  */
-  appendToName = suffix: updateName (name: "${name}-${suffix}");
-
-
-  /* Decrease the nix-env priority of the package, i.e., other
-     versions/variants of the package will be preferred.
-  */
-  lowPrio = drv: addMetaAttrs { priority = "10"; } drv;
-
-  /* Increase the nix-env priority of the package, i.e., this
-     version/variant of the package will be preferred.
-  */
-  hiPrio = drv: addMetaAttrs { priority = "-10"; } drv;
-  
-}
diff --git a/pkgs/lib/misc.nix b/pkgs/lib/misc.nix
deleted file mode 100644
index 19e5081009de..000000000000
--- a/pkgs/lib/misc.nix
+++ /dev/null
@@ -1,431 +0,0 @@
-let lib = import ./default.nix;
-    inherit (builtins) isFunction hasAttr getAttr head tail isList isAttrs isInt attrNames;
-
-in
-
-with import ./lists.nix;
-with import ./attrsets.nix;
-with import ./strings.nix;
-
-rec {
-
-  # returns default if env var is not set
-  maybeEnv = name: default:
-    let value = builtins.getEnv name; in
-    if value == "" then default else value;
-
-  defaultMergeArg = x : y: if builtins.isAttrs y then
-    y
-  else 
-    (y x);
-  defaultMerge = x: y: x // (defaultMergeArg x y);
-  foldArgs = merger: f: init: x: 
-    let arg=(merger init (defaultMergeArg init x));
-      # now add the function with composed args already applied to the final attrs
-        base = (setAttrMerge "passthru" {} (f arg) 
-                        ( z : z // rec { 
-                          function = foldArgs merger f arg; 
-			  args = (lib.attrByPath ["passthru" "args"] {} z) // x;
-                          } ));
-	withStdOverrides = base // {
-	   override = base.passthru.function;
-	   deepOverride = a : (base.passthru.function ((lib.mapAttrs (lib.deepOverrider a) base.passthru.args) // a));
-	   } ;
-        in
-	withStdOverrides;
-    
-
-  # predecessors: proposed replacement for applyAndFun (which has a bug cause it merges twice)
-  # the naming "overridableDelayableArgs" tries to express that you can
-  # - override attr values which have been supplied earlier
-  # - use attr values before they have been supplied by accessing the fix point
-  #   name "fixed"
-  # f: the (delayed overridden) arguments are applied to this
-  #
-  # initial: initial attrs arguments and settings. see defaultOverridableDelayableArgs
-  #
-  # returns: f applied to the arguments // special attributes attrs
-  #     a) merge: merge applied args with new args. Wether an argument is overridden depends on the merge settings
-  #     b) replace: this let's you replace and remove names no matter which merge function has been set
-  #
-  # examples: see test cases "res" below;
-  overridableDelayableArgs =
-          f :        # the function applied to the arguments
-          initial :  # you pass attrs, the functions below are passing a function taking the fix argument
-    let
-        takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
-        tidy = args : 
-            let # apply all functions given in "applyPreTidy" in sequence
-                applyPreTidyFun = fold ( n : a : x : n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
-            in removeAttrs (applyPreTidyFun args) ( ["applyPreTidy"] ++ (maybeAttr  "removeAttrs" [] args) ); # tidy up args before applying them
-        fun = n : x :
-             let newArgs = fixed :
-                     let args = takeFixed fixed; 
-                         mergeFun = getAttr n args;
-                     in if isAttrs x then (mergeFun args x)
-                        else assert isFunction x;
-                             mergeFun args (x ( args // { inherit fixed; }));
-             in overridableDelayableArgs f newArgs;
-    in
-    (f (tidy (lib.fix takeFixed))) // {
-      merge   = fun "mergeFun";
-      replace = fun "keepFun";
-    };
-  defaultOverridableDelayableArgs = f : 
-      let defaults = {
-            mergeFun = mergeAttrByFunc; # default merge function. merge strategie (concatenate lists, strings) is given by mergeAttrBy
-            keepFun = a : b : { inherit (a) removeAttrs mergeFun keepFun mergeAttrBy; } // b; # even when using replace preserve these values
-            applyPreTidy = []; # list of functions applied to args before args are tidied up (usage case : prepareDerivationArgs)
-            mergeAttrBy = mergeAttrBy // {
-              applyPreTidy = a : b : a ++ b;
-              removeAttrs = a : b: a ++ b;
-            };
-            removeAttrs = ["mergeFun" "keepFun" "mergeAttrBy" "removeAttrs" "fixed" ]; # before applying the arguments to the function make sure these names are gone
-          };
-      in (overridableDelayableArgs f defaults).merge;
-
-
-
-  # rec { # an example of how composedArgsAndFun can be used
-  #  a  = composedArgsAndFun (x : x) { a = ["2"]; meta = { d = "bar";}; };
-  #  # meta.d will be lost ! It's your task to preserve it (eg using a merge function)
-  #  b  = a.passthru.function { a = [ "3" ]; meta = { d2 = "bar2";}; };
-  #  # instead of passing/ overriding values you can use a merge function:
-  #  c  = b.passthru.function ( x: { a = x.a  ++ ["4"]; }); # consider using (maybeAttr "a" [] x)
-  # }
-  # result:
-  # {
-  #   a = { a = ["2"];     meta = { d = "bar"; }; passthru = { function = .. }; };
-  #   b = { a = ["3"];     meta = { d2 = "bar2"; }; passthru = { function = .. }; };
-  #   c = { a = ["3" "4"]; meta = { d2 = "bar2"; }; passthru = { function = .. }; };
-  #   # c2 is equal to c
-  # }
-  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;
-
-  # shortcut for attrByPath ["name"] default attrs
-  maybeAttr = name: default: attrs:
-    if __hasAttr name attrs then (__getAttr name attrs) else default;
-
-
-  # Return the second argument if the first one is true or the empty version
-  # of the second argument.
-  ifEnable = cond: val:
-    if cond then val
-    else if builtins.isList val then []
-    else if builtins.isAttrs val then {}
-    # else if builtins.isString val then ""
-    else if val == true || val == false then false
-    else null;
-
-    
-  # Return true only if there is an attribute and it is true.
-  checkFlag = attrSet: name:
-        if name == "true" then true else
-        if name == "false" then false else
-        if (elem name (attrByPath ["flags"] [] attrSet)) then true else
-        attrByPath [name] false attrSet ;
-
-
-  # Input : attrSet, [ [name default] ... ], name
-  # Output : its value or default.
-  getValue = attrSet: argList: name:
-  ( attrByPath [name] (if checkFlag attrSet name then true else
-        if argList == [] then null else
-        let x = builtins.head argList; in
-                if (head x) == name then 
-                        (head (tail x))
-                else (getValue attrSet 
-                        (tail argList) name)) attrSet );
-
-                        
-  # Input : attrSet, [[name default] ...], [ [flagname reqs..] ... ]
-  # Output : are reqs satisfied? It's asserted.
-  checkReqs = attrSet : argList : condList :
-  (
-    fold lib.and true 
-      (map (x: let name = (head x) ; in
-        
-        ((checkFlag attrSet name) -> 
-        (fold lib.and true
-        (map (y: let val=(getValue attrSet argList y); in
-                (val!=null) && (val!=false)) 
-        (tail x))))) condList)) ;
-        
-
-  # This function has O(n^2) performance.
-  uniqList = {inputList, acc ? []} :
-    let go = xs : acc :
-             if xs == []
-             then []
-             else let x = head xs;
-                      y = if elem x acc then [] else [x];
-                  in y ++ go (tail xs) (y ++ acc);
-    in go inputList acc;
-
-  uniqListExt = {inputList, outputList ? [],
-    getter ? (x : x), compare ? (x: y: x==y)}:
-        if inputList == [] then outputList else
-        let x=head inputList; 
-        isX = y: (compare (getter y) (getter x));
-        newOutputList = outputList ++
-         (if any isX outputList then [] else [x]);
-        in uniqListExt {outputList=newOutputList; 
-                inputList = (tail inputList);
-                inherit getter compare;
-                };
-
-
-                
-  condConcat = name: list: checker:
-        if list == [] then name else
-        if checker (head list) then 
-                condConcat 
-                        (name + (head (tail list))) 
-                        (tail (tail list)) 
-                        checker
-        else condConcat
-                name (tail (tail list)) checker;
-
-  lazyGenericClosure = {startSet, operator}:
-    let
-      work = list: doneKeys: result:
-        if list == [] then
-          result
-        else
-          let x = head list; key = x.key; in
-          if elem key doneKeys then
-            work (tail list) doneKeys result
-          else
-            work (tail list ++ operator x) ([key] ++ doneKeys) ([x] ++ result);
-    in
-      work startSet [] [];
-
-  genericClosure =
-    if builtins ? genericClosure then builtins.genericClosure
-    else lazyGenericClosure;
-
-  innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else 
-        innerModifySumArgs f x (a // b);
-  modifySumArgs = f: x: innerModifySumArgs f x {};
-
-
-  innerClosePropagation = acc : xs :
-    if xs == []
-    then acc
-    else let y  = head xs;
-             ys = tail xs;
-         in if ! isAttrs y
-            then innerClosePropagation acc ys
-            else let acc' = [y] ++ acc;
-                 in innerClosePropagation
-                      acc'
-                      (uniqList { inputList = (maybeAttrNullable "propagatedBuildInputs" [] y)
-                                           ++ (maybeAttrNullable "propagatedNativeBuildInputs" [] y)
-                                           ++ ys;
-                                  acc = acc';
-                                }
-                      );
-
-  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);
-
-  # attribute set containing one attribute
-  nvs = name : value : listToAttrs [ (nameValuePair name value) ];
-  # adds / replaces an attribute of an attribute set
-  setAttr = set : name : v : set // (nvs name v);
-
-  # setAttrMerge (similar to mergeAttrsWithFunc but only merges the values of a particular name)
-  # setAttrMerge "a" [] { a = [2];} (x : x ++ [3]) -> { a = [2 3]; } 
-  # setAttrMerge "a" [] {         } (x : x ++ [3]) -> { a = [  3]; }
-  setAttrMerge = name : default : attrs : f :
-    setAttr attrs name (f (maybeAttr name default attrs));
-
-  # Using f = a : b = b the result is similar to //
-  # 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))
-                        else set )
-           (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 ]; }
-  mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a : b : (toList a) ++ (toList b) );
-
-  # merges attributes using //, if a name exisits in both attributes
-  # an error will be triggered unless its listed in mergeLists
-  # so you can mergeAttrsNoOverride { buildInputs = [a]; } { buildInputs = [a]; } {} to get
-  # { buildInputs = [a b]; }
-  # merging buildPhase does'nt really make sense. The cases will be rare where appending /prefixing will fit your needs?
-  # in these cases the first buildPhase will override the second one
-  # ! deprecated, use mergeAttrByFunc instead
-  mergeAttrsNoOverride = { mergeLists ? ["buildInputs" "propagatedBuildInputs"],
-                           overrideSnd ? [ "buildPhase" ]
-                         } : attrs1 : attrs2 :
-    fold (n: set : 
-        setAttr set n ( if (__hasAttr n set) 
-            then # merge 
-              if elem n mergeLists # attribute contains list, merge them by concatenating
-                then (__getAttr n attrs2) ++ (__getAttr n attrs1)
-              else if elem n overrideSnd
-                then __getAttr n attrs1
-              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);
-
-
-  # example usage:
-  # mergeAttrByFunc  {
-  #   inherit mergeAttrBy; # defined below
-  #   buildInputs = [ a b ];
-  # } {
-  #  buildInputs = [ c d ];
-  # };
-  # will result in
-  # { mergeAttrsBy = [...]; buildInputs = [ a b c d ]; }
-  # is used by prepareDerivationArgs, defaultOverridableDelayableArgs and can be used when composing using
-  # foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix
-  mergeAttrByFunc = x : y :
-    let
-          mergeAttrBy2 = { mergeAttrBy=lib.mergeAttrs; }
-                      // (maybeAttr "mergeAttrBy" {} x)
-                      // (maybeAttr "mergeAttrBy" {} y); in
-    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)
-          ) (removeAttrs mergeAttrBy2
-                         # don't merge attrs which are neither in x nor y
-                         (filter (a : (! hasAttr a x) && (! hasAttr a y) )
-                                 (attrNames mergeAttrBy2))
-            )
-      )
-    ];
-  mergeAttrsByFuncDefaults = foldl mergeAttrByFunc { inherit mergeAttrBy; };
-  mergeAttrsByFuncDefaultsClean = list: removeAttrs (mergeAttrsByFuncDefaults list) ["mergeAttrBy"];
-
-  # merge attrs based on version key into mkDerivation args, see mergeAttrBy to learn about smart merge defaults
-  #
-  # This function is best explained by an example:
-  #
-  #     {version ? "2.x"} :
-  #
-  #     mkDerivation (mergeAttrsByVersion "package-name" version 
-  #       { # version specific settings
-  #         "git" = { src = ..; preConfigre = "autogen.sh"; buildInputs = [automake autoconf libtool];  };
-  #         "2.x" = { src = ..; };
-  #       }
-  #       {  // shared settings
-  #          buildInputs = [ common build inputs ];
-  #          meta = { .. }
-  #       }
-  #     )
-  #
-  # Please note that e.g. Eelco Dolstra usually prefers having one file for
-  # each version. On the other hand there are valuable additional design goals
-  #  - readability
-  #  - do it once only
-  #  - try to avoid duplication
-  #
-  # Marc Weber and Michael Raskin sometimes prefer keeping older
-  # versions around for testing and regression tests - as long as its cheap to
-  # do so.
-  #
-  # Very often it just happens that the "shared" code is the bigger part.
-  # Then using this function might be appropriate.
-  #
-  # Be aware that its easy to cause recompilations in all versions when using
-  # this function - also if derivations get too complex splitting into multiple
-  # files is the way to go.
-  #
-  # See misc.nix -> versionedDerivation
-  # discussion: nixpkgs: pull/310
-  mergeAttrsByVersion = name: version: attrsByVersion: base:
-    mergeAttrsByFuncDefaultsClean [ { name = "${name}-${version}"; } base (maybeAttr version (throw "bad version ${version} for ${name}") attrsByVersion)];
-
-  # sane defaults (same name as attr name so that inherit can be used)
-  mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; }
-    listToAttrs (map (n : nameValuePair n lib.concat)
-      [ "nativeBuildInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" "patches" ])
-    // listToAttrs (map (n : nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
-    // listToAttrs (map (n : nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
-  ;
-
-  # prepareDerivationArgs tries to make writing configurable derivations easier
-  # example:
-  #  prepareDerivationArgs {
-  #    mergeAttrBy = {
-  #       myScript = x : y : x ++ "\n" ++ y;
-  #    };
-  #    cfg = {
-  #      readlineSupport = true;
-  #    };
-  #    flags = {
-  #      readline = {
-  #        set = {
-  #           configureFlags = [ "--with-compiler=${compiler}" ];
-  #           buildInputs = [ compiler ];
-  #           pass = { inherit compiler; READLINE=1; };
-  #           assertion = compiler.dllSupport;
-  #           myScript = "foo";
-  #        };
-  #        unset = { configureFlags = ["--without-compiler"]; };
-  #      };
-  #    };
-  #    src = ...
-  #    buildPhase = '' ... '';
-  #    name = ...
-  #    myScript = "bar";
-  #  };
-  # if you don't have need for unset you can omit the surrounding set = { .. } attr
-  # all attrs except flags cfg and mergeAttrBy will be merged with the
-  # additional data from flags depending on config settings
-  # It's used in composableDerivation in all-packages.nix. It's also used
-  # heavily in the new python and libs implementation
-  #
-  # should we check for misspelled cfg options?
-  # TODO use args.mergeFun here as well?
-  prepareDerivationArgs = args:
-    let args2 = { cfg = {}; flags = {}; } // args;
-        flagName = name : "${name}Support";
-        cfgWithDefaults = (listToAttrs (map (n : nameValuePair (flagName n) false) (attrNames args2.flags)))
-                          // 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";
-                    attr = maybeAttr n {} v2; in
-                if (maybeAttr "assertion" true attr)
-                  then attr
-                  else throw "assertion of flag ${a} of derivation ${args.name} failed"
-               ) args2.flags );
-    in removeAttrs
-      (mergeAttrsByFuncDefaults ([args] ++ opts ++ [{ passthru = cfgWithDefaults; }]))
-      ["flags" "cfg" "mergeAttrBy" ];
-
-
-  nixType = x:
-      if isAttrs x then
-          if x ? outPath then "derivation"
-          else "aattrs"
-      else if isFunction x then "function"
-      else if isList x then "list"
-      else if x == true then "bool"
-      else if x == false then "bool"
-      else if x == null then "null"
-      else if isInt x then "int"
-      else "string";
-
-}
diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix
deleted file mode 100644
index acd10e7bf576..000000000000
--- a/pkgs/lib/modules.nix
+++ /dev/null
@@ -1,380 +0,0 @@
-# NixOS module handling.
-
-let lib = import ./default.nix; in
-
-with { inherit (builtins) head; };
-with import ./trivial.nix;
-with import ./lists.nix;
-with import ./misc.nix;
-with import ./attrsets.nix;
-with import ./options.nix;
-with import ./properties.nix;
-
-rec {
-
-  # Unfortunately this can also be a string.
-  isPath = x: !(
-     builtins.isFunction x
-  || builtins.isAttrs x
-  || builtins.isInt x
-  || builtins.isBool x
-  || builtins.isList x
-  );
-
-
-  importIfPath = path:
-    if isPath path then
-      import path
-    else
-      path;
-
-
-  applyIfFunction = f: arg:
-    if builtins.isFunction f then
-      f arg
-    else
-      f;
-
-
-  isModule = m:
-       (m ? config && isAttrs m.config && ! isOption m.config)
-    || (m ? options && isAttrs m.options && ! isOption m.options);
-
-
-  # Convert module to a set which has imports / options and config
-  # attributes.
-  unifyModuleSyntax = m:
-    let
-      delayedModule = delayProperties m;
-
-      getImports =
-        toList (rmProperties (delayedModule.require or []));
-      getImportedPaths = filter isPath getImports;
-      getImportedSets = filter (x: !isPath x) getImports;
-
-      getConfig =
-        removeAttrs delayedModule ["require" "key" "imports"];
-
-    in
-      if isModule m then
-        { key = "<unknown location>"; } // m
-      else
-        { key = "<unknown location>";
-          imports = (m.imports or []) ++ getImportedPaths;
-          config = getConfig;
-        } // (
-          if getImportedSets != [] then
-            assert length getImportedSets == 1;
-            { options = head getImportedSets; }
-          else
-            {}
-        );
-
-
-  unifyOptionModule = {key ? "<unknown location>"}: name: index: m: (args:
-    let
-      module = lib.applyIfFunction m args;
-      key_ = rec {
-        file = key;
-        option = name;
-        number = index;
-        outPath = key;
-      };
-    in if lib.isModule module then
-      { key = key_; } // module
-    else
-      { key = key_; options = module; }
-  );
-
-
-  moduleClosure = initModules: args:
-    let
-      moduleImport = origin: index: m:
-        let m' = applyIfFunction (importIfPath m) args;
-        in (unifyModuleSyntax m') // {
-          # used by generic closure to avoid duplicated imports.
-          key =
-            if isPath m then m
-            else m'.key or (newModuleName origin index);
-        };
-
-      getImports = m: m.imports or [];
-
-      newModuleName = origin: index:
-        "${origin.key}:<import-${toString index}>";
-
-      topLevel = {
-        key = "<top-level>";
-      };
-
-    in
-      (lazyGenericClosure {
-        startSet = imap (moduleImport topLevel) initModules;
-        operator = m: imap (moduleImport m) (getImports m);
-      });
-
-
-  moduleApply = funs: module:
-    lib.mapAttrs (name: value:
-      if builtins.hasAttr name funs then
-        let fun = lib.getAttr name funs; in
-        fun value
-      else
-        value
-    ) module;
-
-
-  # Handle mkMerge function left behind after a delay property.
-  moduleFlattenMerge = module:
-    if module ? config &&
-       isProperty module.config &&
-       isMerge module.config.property
-    then
-      (map (cfg: { key = module.key; config = cfg; }) module.config.content)
-      ++ [ (module // { config = {}; }) ]
-    else
-      [ module ];
-
-
-  # Handle mkMerge attributes which are left behind by previous delay
-  # properties and convert them into a list of modules. Delay properties
-  # inside the config attribute of a module and create a second module if a
-  # mkMerge attribute was left behind.
-  #
-  # Module -> [ Module ]
-  delayModule = module:
-    map (moduleApply { config = delayProperties; }) (moduleFlattenMerge module);
-
-
-  evalDefinitions = opt: values:
-    if opt.type.delayOnGlobalEval or false then
-      map (delayPropertiesWithIter opt.type.iter opt.name)
-        (evalLocalProperties values)
-    else
-      evalProperties values;
-
-
-  selectModule = name: m:
-    { inherit (m) key;
-    } // (
-      if m ? options && builtins.hasAttr name m.options then
-        { options = lib.getAttr name m.options; }
-      else {}
-    ) // (
-      if m ? config && builtins.hasAttr name m.config then
-        { config = lib.getAttr name m.config; }
-      else {}
-    );
-
-  filterModules = name: modules:
-    filter (m: m ? config || m ? options) (
-      map (selectModule name) modules
-    );
-
-
-  modulesNames = modules:
-    lib.concatMap (m: []
-    ++ optionals (m ? options) (lib.attrNames m.options)
-    ++ optionals (m ? config) (lib.attrNames m.config)
-    ) modules;
-
-
-  moduleZip = funs: modules:
-    lib.mapAttrs (name: fun:
-      fun (catAttrs name modules)
-    ) funs;
-
-
-  moduleMerge = path: modules:
-    let modules_ = modules; in
-    let
-      addName = name:
-        if path == "" then name else path + "." + name;
-
-      modules = concatLists (map delayModule modules_);
-
-      modulesOf = name: filterModules name modules;
-      declarationsOf = name: filter (m: m ? options) (modulesOf name);
-      definitionsOf  = name: filter (m: m ? config ) (modulesOf name);
-
-      recurseInto = name:
-        moduleMerge (addName name) (modulesOf name);
-
-      recurseForOption = name: modules: args:
-        moduleMerge name (
-          moduleClosure modules args
-        );
-
-      errorSource = modules:
-        "The error may come from the following files:\n" + (
-          lib.concatStringsSep "\n" (
-            map (m:
-              if m ? key then toString m.key else "<unknown location>"
-            ) modules
-          )
-        );
-
-      eol = "\n";
-
-      allNames = modulesNames modules;
-
-      getResults = m:
-        let fetchResult = s: mapAttrs (n: v: v.result) s; in {
-          options = fetchResult m.options;
-          config = fetchResult m.config;
-        };
-
-      endRecursion =  { options = {}; config = {}; };
-
-    in if modules == [] then endRecursion else
-      getResults (fix (crossResults: moduleZip {
-        options = lib.zipWithNames allNames (name: values: rec {
-          config = lib.getAttr name crossResults.config;
-
-          declarations = declarationsOf name;
-          declarationSources =
-            map (m: {
-              source = m.key;
-            }) declarations;
-
-          hasOptions = values != [];
-          isOption = any lib.isOption values;
-
-          decls = # add location to sub-module options.
-            map (m:
-              mapSubOptions
-                (unifyOptionModule {inherit (m) key;} name)
-                m.options
-            ) declarations;
-
-          decl =
-            lib.addErrorContext "${eol
-              }while enhancing option `${addName name}':${eol
-              }${errorSource declarations}${eol
-            }" (
-              addOptionMakeUp
-                { name = addName name; recurseInto = recurseForOption; }
-                (mergeOptionDecls decls)
-            );
-
-          value = decl // (with config; {
-            inherit (config) isNotDefined;
-            isDefined = ! isNotDefined;
-            declarations = declarationSources;
-            definitions = definitionSources;
-            config = strictResult;
-          });
-
-          recurse = (recurseInto name).options;
-
-          result =
-            if isOption then value
-            else if !hasOptions then {}
-            else if all isAttrs values then recurse
-            else
-              throw "${eol
-                }Unexpected type where option declarations are expected.${eol
-                }${errorSource declarations}${eol
-              }";
-
-        });
-
-        config = lib.zipWithNames allNames (name: values_: rec {
-          option = lib.getAttr name crossResults.options;
-
-          definitions = definitionsOf name;
-          definitionSources =
-            map (m: {
-              source = m.key;
-              value = m.config;
-            }) definitions;
-
-          values = values_ ++
-            optionals (option.isOption && option.decl ? extraConfigs)
-              option.decl.extraConfigs;
-
-          defs = evalDefinitions option.decl values;
-
-          isNotDefined = defs == [];
-
-          value =
-            lib.addErrorContext "${eol
-              }while evaluating the option `${addName name}':${eol
-              }${errorSource (modulesOf name)}${eol
-            }" (
-              let opt = option.decl; in
-              opt.apply (
-                if isNotDefined then
-                  opt.default or (throw "Option `${addName name}' not defined and does not have a default value.")
-                else opt.merge defs
-              )
-            );
-
-          strictResult = builtins.tryEval (builtins.toXML value);
-
-          recurse = (recurseInto name).config;
-
-          configIsAnOption = v: isOption (rmProperties v);
-          errConfigIsAnOption =
-            let badModules = filter (m: configIsAnOption m.config) definitions; in
-            "${eol
-              }Option ${addName name} is defined in the configuration section.${eol
-              }${errorSource badModules}${eol
-            }";
-
-          errDefinedWithoutDeclaration =
-            let badModules = definitions; in
-            "${eol
-              }Option '${addName name}' defined without option declaration.${eol
-              }${errorSource badModules}${eol
-            }";
-
-          result =
-            if option.isOption then value
-            else if !option.hasOptions then throw errDefinedWithoutDeclaration
-            else if any configIsAnOption values then throw errConfigIsAnOption
-            else if all isAttrs values then recurse
-            # plain value during the traversal
-            else throw errDefinedWithoutDeclaration;
-
-        });
-      } modules));
-
-
-  fixMergeModules = initModules: {...}@args:
-    lib.fix (result:
-      # This trick avoids an infinite loop because names of attribute
-      # are know and it is not required to evaluate the result of
-      # moduleMerge to know which attributes are present as arguments.
-      let module = { inherit (result) options config; }; in
-      moduleMerge "" (
-        moduleClosure initModules (module // args)
-      )
-    );
-
-
-  # Visit all definitions to raise errors related to undeclared options.
-  checkModule = path: {config, options, ...}@m:
-    let
-      eol = "\n";
-      addName = name:
-        if path == "" then name else path + "." + name;
-    in
-    if lib.isOption options then
-      if options ? options then
-        options.type.fold
-          (cfg: res: res && checkModule (options.type.docPath path) cfg._args)
-          true config
-      else
-        true
-    else if isAttrs options && lib.attrNames m.options != [] then
-      all (name:
-        lib.addErrorContext "${eol
-          }while checking the attribute `${addName name}':${eol
-        }" (checkModule (addName name) (selectModule name m))
-      ) (lib.attrNames m.config)
-    else
-      builtins.trace "try to evaluate config ${lib.showVal config}."
-      false;
-
-}
diff --git a/pkgs/lib/options.nix b/pkgs/lib/options.nix
deleted file mode 100644
index e8e01083a77a..000000000000
--- a/pkgs/lib/options.nix
+++ /dev/null
@@ -1,315 +0,0 @@
-# Nixpkgs/NixOS option handling.
-
-let lib = import ./default.nix; in
-
-with { inherit (builtins) head length; };
-with import ./trivial.nix;
-with import ./lists.nix;
-with import ./misc.nix;
-with import ./attrsets.nix;
-with import ./properties.nix;
-
-rec {
-
-  inherit (lib) isType;
-  
-
-  isOption = isType "option";
-  mkOption = attrs: attrs // {
-    _type = "option";
-    # name (this is the name of the attributem it is automatically generated by the traversal)
-    # default (value used when no definition exists)
-    # example (documentation)
-    # description (documentation)
-    # type (option type, provide a default merge function and ensure type correctness)
-    # merge (function used to merge definitions into one definition: [ /type/ ] -> /type/)
-    # apply (convert the option value to ease the manipulation of the option result)
-    # options (set of sub-options declarations & definitions)
-    # extraConfigs (list of possible configurations)
-  };
-
-  mkEnableOption = name: mkOption {
-    default = false;
-    example = true;
-    description = "Whether to enable ${name}";
-    type = lib.types.bool;
-  };
-
-  mapSubOptions = f: opt:
-    if opt ? options then
-      opt // {
-        options = imap f (toList opt.options);
-      }
-    else
-      opt;
-
-  # Make the option declaration more user-friendly by adding default
-  # settings and some verifications based on the declaration content (like
-  # type correctness).
-  addOptionMakeUp = {name, recurseInto}: decl:
-    let
-      init = {
-        inherit name;
-        merge = mergeDefaultOption;
-        apply = lib.id;
-      };
-
-      functionsFromType = opt:
-        opt // (builtins.intersectAttrs { merge = 1; check = 1; } (decl.type or {})); 
-
-      addDeclaration = opt: opt // decl;
-
-      ensureMergeInputType = opt:
-        if opt ? check then
-          opt // {
-            merge = list:
-              if all opt.check list then
-                opt.merge list
-              else
-                throw "One of option ${name} values has a bad type.";
-          }
-        else opt;
-
-      checkDefault = opt:
-        if opt ? check && opt ? default then
-          opt // {
-            default =
-              if opt.check opt.default then
-                opt.default
-              else
-                throw "The default value of option ${name} has a bad type.";
-          }
-        else opt;
-
-      handleOptionSets = opt:
-        if opt ? type && opt.type.hasOptions then
-          let
-            # Evaluate sub-modules.
-            subModuleMerge = path: vals:
-              lib.fix (args:
-                let
-                  result = recurseInto path (opt.options ++ imap (index: v: args: {
-                    key = rec {
-                      #!!! Would be nice if we had the file the val was from
-                      option = path;
-                      number = index;
-                      outPath = "option ${option} config number ${toString number}";
-                    };
-                  } // (lib.applyIfFunction v args)) (toList vals)) args;
-                  name = lib.removePrefix (opt.name + ".") path;
-                  extraArgs = opt.extraArgs or {};
-                  individualExtraArgs = opt.individualExtraArgs or {};
-                in {
-                  inherit (result) config options;
-                  inherit name;
-                } //
-                  (opt.extraArgs or {}) //
-                  (if hasAttr name individualExtraArgs then getAttr name individualExtraArgs else {})
-              );
-
-            # Add _options in sub-modules to make it viewable from other
-            # modules.
-            subModuleMergeConfig = path: vals:
-              let result = subModuleMerge path vals; in
-                { _args = result; } // result.config;
-
-          in
-            opt // {
-              merge = list:
-                opt.type.iter
-                  subModuleMergeConfig
-                  opt.name
-                  (opt.merge list);
-              options =
-                let path = opt.type.docPath opt.name; in
-                  (subModuleMerge path []).options;
-            }
-        else
-          opt;
-    in
-      foldl (opt: f: f opt) init [
-        # default settings
-        functionsFromType
-
-        # user settings
-        addDeclaration
-
-        # override settings
-        ensureMergeInputType
-        checkDefault
-        handleOptionSets
-      ];
-
-  # Merge a list of options containning different field.  This is useful to
-  # separate the merge & apply fields from the interface.
-  mergeOptionDecls = opts:
-    if opts == [] then {}
-    else if length opts == 1 then
-      let opt = head opts; in
-      if opt ? options then
-        opt // { options = toList opt.options; }
-      else
-        opt
-    else
-      fold (opt1: opt2:
-        lib.addErrorContext "opt1 = ${lib.showVal opt1}\nopt2 = ${lib.showVal opt2}" (
-        # You cannot merge if two options have the same field.
-        assert opt1 ? default -> ! opt2 ? default;
-        assert opt1 ? example -> ! opt2 ? example;
-        assert opt1 ? description -> ! opt2 ? description;
-        assert opt1 ? merge -> ! opt2 ? merge;
-        assert opt1 ? apply -> ! opt2 ? apply;
-        assert opt1 ? type -> ! opt2 ? type;
-        opt1 // opt2
-        // optionalAttrs (opt1 ? options || opt2 ? options) {
-            options =
-               (toList (opt1.options or []))
-            ++ (toList (opt2.options or []));
-          }
-        // optionalAttrs (opt1 ? extraConfigs || opt2 ? extraConfigs) {
-            extraConfigs = opt1.extraConfigs or [] ++ opt2.extraConfigs or [];
-          }
-        // optionalAttrs (opt1 ? extraArgs || opt2 ? extraArgs) {
-            extraArgs = opt1.extraArgs or {} // opt2.extraArgs or {};
-          }
-        // optionalAttrs (opt1 ? individualExtraArgs || opt2 ? individualExtraArgs) {
-            individualExtraArgs = zipAttrsWith (name: values:
-              if length values == 1 then head values else (head values // (head (tail values)))
-            ) [ (opt1.individualExtraArgs or {}) (opt2.individualExtraArgs or {}) ];
-          }
-      )) {} opts;
-
-  
-  # !!! This function will be removed because this can be done with the
-  # multiple option declarations.
-  addDefaultOptionValues = defs: opts: opts //
-    builtins.listToAttrs (map (defName:
-      { name = defName;
-        value = 
-          let
-            defValue = builtins.getAttr defName defs;
-            optValue = builtins.getAttr defName opts;
-          in
-          if isOption defValue
-          then
-            # `defValue' is an option.
-            if hasAttr defName opts
-            then builtins.getAttr defName opts
-            else defValue.default
-          else
-            # `defValue' is an attribute set containing options.
-            # So recurse.
-            if hasAttr defName opts && isAttrs optValue 
-            then addDefaultOptionValues defValue optValue
-            else addDefaultOptionValues defValue {};
-      }
-    ) (attrNames defs));
-
-  mergeDefaultOption = list:
-    if length list == 1 then head list
-    else if all builtins.isFunction list then x: mergeDefaultOption (map (f: f x) list)
-    else if all isList list then concatLists list
-    else if all isAttrs list then fold lib.mergeAttrs {} list
-    else if all builtins.isBool list then fold lib.or false list
-    else if all builtins.isString list then lib.concatStrings list
-    else if all builtins.isInt list && all (x: x == head list) list
-         then head list
-    else throw "Cannot merge values.";
-
-  mergeTypedOption = typeName: predicate: merge: list:
-    if all predicate list then merge list
-    else throw "Expect a ${typeName}.";
-
-  mergeEnableOption = mergeTypedOption "boolean"
-    (x: true == x || false == x) (fold lib.or false);
-
-  mergeListOption = mergeTypedOption "list" isList concatLists;
-
-  mergeStringOption = mergeTypedOption "string"
-    (x: if builtins ? isString then builtins.isString x else x + "")
-    lib.concatStrings;
-
-  mergeOneOption = list:
-    if list == [] then abort "This case should never happen."
-    else if length list != 1 then throw "Multiple definitions. Only one is allowed for this option."
-    else head list;
-
-
-  fixableMergeFun = merge: f: config:
-    merge (
-      # generate the list of option sets.
-      f config
-    );
-
-  fixableMergeModules = merge: initModules: {...}@args: config:
-    fixableMergeFun merge (config:
-      lib.moduleClosure initModules (args // { inherit config; })
-    ) config;
-
-
-  fixableDefinitionsOf = initModules: {...}@args:
-    fixableMergeModules (modules: (lib.moduleMerge "" modules).config) initModules args;
-
-  fixableDeclarationsOf = initModules: {...}@args:
-    fixableMergeModules (modules: (lib.moduleMerge "" modules).options) initModules args;
-
-  definitionsOf = initModules: {...}@args:
-    (lib.fix (module:
-      fixableMergeModules (lib.moduleMerge "") initModules args module.config
-    )).config;
-
-  declarationsOf = initModules: {...}@args:
-    (lib.fix (module:
-      fixableMergeModules (lib.moduleMerge "") initModules args module.config
-    )).options;
-
-
-  # Generate documentation template from the list of option declaration like
-  # the set generated with filterOptionSets.
-  optionAttrSetToDocList = ignore: newOptionAttrSetToDocList;
-  newOptionAttrSetToDocList = attrs:
-    let options = collect isOption attrs; in
-      fold (opt: rest:
-        let
-          docOption = {
-            inherit (opt) name;
-            description = if opt ? description then opt.description else
-              throw "Option ${opt.name}: No description.";
-
-            declarations = map (x: toString x.source) opt.declarations;
-            #definitions = map (x: toString x.source) opt.definitions;
-          }
-          // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; }
-          // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
-          // optionalAttrs (opt ? defaultText) { default = opt.defaultText; };
-
-          subOptions =
-            if opt ? options then
-              newOptionAttrSetToDocList opt.options
-            else
-              [];
-        in
-          [ docOption ] ++ subOptions ++ rest
-      ) [] options;
-
-
-  /* This function recursively removes all derivation attributes from
-     `x' except for the `name' attribute.  This is to make the
-     generation of `options.xml' much more efficient: the XML
-     representation of derivations is very large (on the order of
-     megabytes) and is not actually used by the manual generator. */
-  scrubOptionValue = x: 
-    if isDerivation x then { type = "derivation"; drvPath = x.name; outPath = x.name; name = x.name; }
-    else if isList x then map scrubOptionValue x
-    else if isAttrs x then mapAttrs (n: v: scrubOptionValue v) (removeAttrs x ["_args"])
-    else x;
-
-
-  /* For use in the ‘example’ option attribute.  It causes the given
-     text to be included verbatim in documentation.  This is necessary
-     for example values that are not simple values, e.g.,
-     functions. */
-  literalExample = text: { _type = "literalExample"; inherit text; };
-
-
-}
diff --git a/pkgs/lib/platforms.nix b/pkgs/lib/platforms.nix
deleted file mode 100644
index 8be37d7ed1e7..000000000000
--- a/pkgs/lib/platforms.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-let lists = import ./lists.nix; in
-
-rec {
-  gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */
-  linux = ["i686-linux" "x86_64-linux" "powerpc-linux" "armv5tel-linux" "armv7l-linux" "mips64el-linux"];
-  darwin = ["x86_64-darwin"];
-  freebsd = ["i686-freebsd" "x86_64-freebsd" "powerpc-freebsd"];
-  openbsd = ["i686-openbsd" "x86_64-openbsd"];
-  netbsd = ["i686-netbsd" "x86_64-netbsd"];
-  cygwin = ["i686-cygwin"];
-  unix = linux ++ darwin ++ freebsd ++ openbsd;
-  all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd;
-  none = [];
-  allBut = platform: lists.filter (x: platform != x) all;
-  mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux"];
-}
diff --git a/pkgs/lib/properties.nix b/pkgs/lib/properties.nix
deleted file mode 100644
index 22aa8d891d8a..000000000000
--- a/pkgs/lib/properties.nix
+++ /dev/null
@@ -1,464 +0,0 @@
-# Nixpkgs/NixOS properties.  Generalize the problem of delayable (not yet
-# evaluable) properties like mkIf.
-
-let lib = import ./default.nix; in
-
-with { inherit (builtins) head tail; };
-with import ./trivial.nix;
-with import ./lists.nix;
-with import ./misc.nix;
-with import ./attrsets.nix;
-
-rec {
-
-  inherit (lib) isType;
-
-  # Tell that nothing is defined.  When properties are evaluated, this type
-  # is used to remove an entry.  Thus if your property evaluation semantic
-  # implies that you have to mute the content of an attribute, then your
-  # property should produce this value.
-  isNotdef = isType "notdef";
-  mkNotdef = {_type = "notdef";};
-
-  # General property type, it has a property attribute and a content
-  # attribute.  The property attribute refers to an attribute set which
-  # contains a _type attribute and a list of functions which are used to
-  # evaluate this property.  The content attribute is used to stack properties
-  # on top of each other.
-  #
-  # The optional functions which may be contained in the property attribute
-  # are:
-  #  - onDelay: run on a copied property.
-  #  - onGlobalDelay: run on all copied properties.
-  #  - onEval: run on an evaluated property.
-  #  - onGlobalEval: run on a list of property stack on top of their values.
-  isProperty = isType "property";
-  mkProperty = p@{property, content, ...}: p // {
-    _type = "property";
-  };
-
-  # Go through the stack of properties and apply the function `op' on all
-  # property and call the function `nul' on the final value which is not a
-  # property.  The stack is traversed in reversed order.  The `op' function
-  # should expect a property with a content which have been modified.
-  #
-  # Warning: The `op' function expects only one argument in order to avoid
-  # calls to mkProperties as the argument is already a valid property which
-  # contains the result of the folding inside the content attribute.
-  foldProperty = op: nul: attrs:
-    if isProperty attrs then
-      op (attrs // {
-        content = foldProperty op nul attrs.content;
-      })
-    else
-      nul attrs;
-
-  # Simple function which can be used as the `op' argument of the
-  # foldProperty function.  Properties that you don't want to handle can be
-  # ignored with the `id' function.  `isSearched' is a function which should
-  # check the type of a property and return a boolean value.  `thenFun' and
-  # `elseFun' are functions which behave as the `op' argument of the
-  # foldProperty function.
-  foldFilter = isSearched: thenFun: elseFun: attrs:
-    if isSearched attrs.property then
-      thenFun attrs
-    else
-      elseFun attrs;
-
-
-  # Move properties from the current attribute set to the attribute
-  # contained in this attribute set.  This trigger property handlers called
-  # `onDelay' and `onGlobalDelay'.
-  delayPropertiesWithIter = iter: path: attrs:
-    let cleanAttrs = rmProperties attrs; in
-    if isProperty attrs then
-      iter (a: v:
-        lib.addErrorContext "while moving properties on the attribute `${a}':" (
-          triggerPropertiesGlobalDelay a (
-            triggerPropertiesDelay a (
-              copyProperties attrs v
-      )))) path cleanAttrs
-    else
-      attrs;
-
-  delayProperties = # implicit attrs argument.
-    let
-      # mapAttrs except that it also recurse into potential mkMerge
-      # functions.  This may cause a strictness issue because looking the
-      # type of a string implies evaluating it.
-      iter = fun: path: value:
-        lib.mapAttrs (attr: val:
-          if isProperty val && isMerge val.property then
-            val // { content = map (fun attr) val.content; }
-          else
-            fun attr val
-        ) value;
-    in
-      delayPropertiesWithIter iter "";
-
-  # Call onDelay functions.
-  triggerPropertiesDelay = name: attrs:
-    let
-      callOnDelay = p@{property, ...}:
-        if property ? onDelay then
-          property.onDelay name p
-        else
-          p;
-    in
-      foldProperty callOnDelay id attrs;
-
-  # Call onGlobalDelay functions.
-  triggerPropertiesGlobalDelay = name: attrs:
-    let
-      globalDelayFuns = uniqListExt {
-        getter = property: property._type;
-        inputList = foldProperty (p@{property, content, ...}:
-          if property ? onGlobalDelay then
-            [ property ] ++ content
-          else
-            content
-        ) (a: []) attrs;
-      };
-
-      callOnGlobalDelay = property: content:
-        property.onGlobalDelay name content;
-    in
-      fold callOnGlobalDelay attrs globalDelayFuns;
-
-  # Expect a list of values which may have properties and return the same
-  # list of values where all properties have been evaluated and where all
-  # ignored values are removed.  This trigger property handlers called
-  # `onEval' and `onGlobalEval'.
-  evalProperties = valList:
-    if valList != [] then
-      filter (x: !isNotdef x) (
-        triggerPropertiesGlobalEval (
-          evalLocalProperties valList
-        )
-      )
-    else
-      valList;
-
-  evalLocalProperties = valList:
-    filter (x: !isNotdef x) (
-      map triggerPropertiesEval valList
-    );
-
-  # Call onEval function
-  triggerPropertiesEval = val:
-    foldProperty (p@{property, ...}:
-      if property ? onEval then
-        property.onEval p
-      else
-        p
-    ) id val;
-
-  # Call onGlobalEval function
-  triggerPropertiesGlobalEval = valList:
-    let
-      globalEvalFuns = uniqListExt {
-        getter = property: property._type;
-        inputList =
-          fold (attrs: list:
-            foldProperty (p@{property, content, ...}:
-              if property ? onGlobalEval then
-                [ property ] ++ content
-              else
-                content
-            ) (a: list) attrs
-          ) [] valList;
-      };
-
-      callOnGlobalEval = property: valList: property.onGlobalEval valList;
-    in
-      fold callOnGlobalEval valList globalEvalFuns;
-
-  # Remove all properties on top of a value and return the value.
-  rmProperties =
-    foldProperty (p@{content, ...}: content) id;
-
-  # Copy properties defined on a value on another value.
-  copyProperties = attrs: newAttrs:
-    foldProperty id (x: newAttrs) attrs;
-
-  /* Merge. */
-
-  # Create "merge" statement which is skipped by the delayProperty function
-  # and interpreted by the underlying system using properties (modules).
-
-  # Create a "Merge" property which only contains a condition.
-  isMerge = isType "merge";
-  mkMerge = content: mkProperty {
-    property = {
-      _type = "merge";
-      onDelay = name: val: throw "mkMerge is not the first of the list of properties.";
-      onEval = val: throw "mkMerge is not allowed on option definitions.";
-    };
-    inherit content;
-  };
-
-  /* If. ThenElse. Always. */
-
-  # create "if" statement that can be delayed on sets until a "then-else" or
-  # "always" set is reached.  When an always set is reached the condition
-  # is ignore.
-
-  # Create a "If" property which only contains a condition.
-  isIf = isType "if";
-  mkIf = condition: content: mkProperty {
-    property = {
-      _type = "if";
-      onGlobalDelay = onIfGlobalDelay;
-      onEval = onIfEval;
-      inherit condition;
-    };
-    inherit content;
-  };
-
-  mkAssert = assertion: message: content:
-    mkIf
-      (if assertion then true else throw "\nFailed assertion: ${message}")
-      content;
-
-  # Evaluate the "If" statements when either "ThenElse" or "Always"
-  # statement is encountered.  Otherwise it removes multiple If statements and
-  # replaces them by one "If" statement where the condition is the list of all
-  # conditions joined with a "and" operation.
-  onIfGlobalDelay = name: content:
-    let
-      # extract if statements and non-if statements and repectively put them
-      # in the attribute list and attrs.
-      ifProps =
-        foldProperty
-          (foldFilter (p: isIf p)
-            # then, push the condition inside the list list
-            (p@{property, content, ...}:
-              { inherit (content) attrs;
-                list = [property] ++ content.list;
-              }
-            )
-            # otherwise, add the propertie.
-            (p@{property, content, ...}:
-              { inherit (content) list;
-                attrs = p // { content = content.attrs; };
-              }
-            )
-          )
-          (attrs: { list = []; inherit attrs; })
-          content;
-
-      # compute the list of if statements.
-      evalIf = content: condition: list:
-        if list == [] then
-          mkIf condition content
-        else
-          let p = head list; in
-          evalIf content (condition && p.condition) (tail list);
-    in
-      evalIf ifProps.attrs true ifProps.list;
-
-  # Evaluate the condition of the "If" statement to either get the value or
-  # to ignore the value.
-  onIfEval = p@{property, content, ...}:
-    if property.condition then
-      content
-    else
-      mkNotdef;
-
-  /* mkOverride */
-
-  # Create an "Override" statement which allow the user to define
-  # priorities between values.  The default priority is 100. The lowest
-  # priorities are kept.  The template argument must reproduce the same
-  # attribute set hierarchy to override leaves of the hierarchy.
-  isOverride = isType "override";
-  mkOverrideTemplate = priority: template: content: mkProperty {
-    property = {
-      _type = "override";
-      onDelay = onOverrideDelay;
-      onGlobalEval = onOverrideGlobalEval;
-      inherit priority template;
-    };
-    inherit content;
-  };
-
-  # Like mkOverrideTemplate, but without the template argument.
-  mkOverride = priority: content: mkOverrideTemplate priority {} content;
-
-  # Sugar to override the default value of the option by making a new
-  # default value based on the configuration.
-  mkDefaultValue = mkOverride 1000;
-  mkDefault = mkOverride 1000;
-  mkForce = mkOverride 50;
-  mkStrict = mkOverride 0;
-
-  # Make the template traversal in function of the property traversal.  If
-  # the template define a non-empty attribute set, then the property is
-  # copied only on all mentionned attributes inside the template.
-  # Otherwise, the property is kept on all sub-attribute definitions.
-  onOverrideDelay = name: p@{property, content, ...}:
-    let inherit (property) template; in
-    if isAttrs template && template != {} then
-      if hasAttr name template then
-        p // {
-          property = p.property // {
-            template = builtins.getAttr name template;
-          };
-        }
-      # Do not override the attribute \name\
-      else
-        content
-    # Override values defined inside the attribute \name\.
-    else
-      p;
-
-  # Keep values having lowest priority numbers only throwing away those having
-  # a higher priority assigned.
-  onOverrideGlobalEval = valList:
-    let
-      defaultPrio = 100;
-
-      inherit (builtins) lessThan;
-
-      getPrioVal =
-        foldProperty
-          (foldFilter isOverride
-            (p@{property, content, ...}:
-              if content ? priority && lessThan content.priority property.priority then
-                content
-              else
-                content // {
-                  inherit (property) priority;
-                }
-            )
-            (p@{property, content, ...}:
-              content // {
-                value = p // { content = content.value; };
-              }
-            )
-          ) (value: { inherit value; });
-
-      addDefaultPrio = x:
-        if x ? priority then x
-        else x // { priority = defaultPrio; };
-
-      prioValList = map (x: addDefaultPrio (getPrioVal x)) valList;
-
-      higherPrio =
-        if prioValList == [] then
-          defaultPrio
-        else
-          fold (x: min:
-            if lessThan x.priority min then
-              x.priority
-            else
-              min
-          ) (head prioValList).priority (tail prioValList);
-    in
-      map (x:
-        if x.priority == higherPrio then
-          x.value
-        else
-          mkNotdef
-      ) prioValList;
-
-  /* mkOrder */
-
-  # Order definitions based on there index value.  This property is useful
-  # when the result of the merge function depends on the order on the
-  # initial list.  (e.g. concatStrings) Definitions are ordered based on
-  # their rank.  The lowest ranked definition would be the first to element
-  # of the list used by the merge function.  And the highest ranked
-  # definition would be the last.  Definitions which does not have any rank
-  # value have the default rank of 100.
-  isOrder = isType "order";
-  mkOrder = rank: content: mkProperty {
-    property = {
-      _type = "order";
-      onGlobalEval = onOrderGlobalEval;
-      inherit rank;
-    };
-    inherit content;
-  };
-
-  mkHeader = mkOrder 10;
-  mkFooter = mkOrder 1000;
-
-  # Fetch the rank of each definition (add the default rank is none) and
-  # sort them based on their ranking.
-  onOrderGlobalEval = valList:
-    let
-      defaultRank = 100;
-
-      inherit (builtins) lessThan;
-
-      getRankVal =
-        foldProperty
-          (foldFilter isOrder
-            (p@{property, content, ...}:
-              if content ? rank then
-                content
-              else
-                content // {
-                  inherit (property) rank;
-                }
-            )
-            (p@{property, content, ...}:
-              content // {
-                value = p // { content = content.value; };
-              }
-            )
-          ) (value: { inherit value; });
-
-      addDefaultRank = x:
-        if x ? rank then x
-        else x // { rank = defaultRank; };
-
-      rankValList = map (x: addDefaultRank (getRankVal x)) valList;
-
-      cmp = x: y:
-        builtins.lessThan x.rank y.rank;
-    in
-      map (x: x.value) (sort cmp rankValList);
-
-  /* mkFixStrictness */
-
-  # This is a hack used to restore laziness on some option definitions.
-  # Some option definitions are evaluated when they are not used.  This
-  # error is caused by the strictness of type checking builtins.  Builtins
-  # like 'isAttrs' are too strict because they have to evaluate their
-  # arguments to check if the type is correct.  This evaluation, cause the
-  # strictness of properties.
-  #
-  # Properties can be stacked on top of each other.  The stackability of
-  # properties on top of the option definition is nice for user manipulation
-  # but require to check if the content of the property is not another
-  # property.  Such testing implies to verify if this is an attribute set
-  # and if it possess the type 'property'. (see isProperty & typeOf/isType)
-  #
-  # To avoid strict evaluation of option definitions, 'mkFixStrictness' is
-  # introduced.  This property protects an option definition by replacing
-  # the base of the stack of properties by 'mkNotDef', when this property is
-  # evaluated it returns the original definition.
-  #
-  # This property is useful over any elements which depends on options which
-  # are raising errors when they get evaluated without the proper settings.
-  #
-  # Plain list and attribute set are lazy structures, which means that the
-  # container gets evaluated but not the content.  Thus, using this property
-  # on top of plain list or attribute set is pointless.
-  #
-  # This is a Hack, you should avoid it!
-
-  # This property has a long name because you should avoid it.
-  isFixStrictness = attrs: (typeOf attrs) == "fix-strictness";
-  mkFixStrictness = value:
-    mkProperty {
-      property = {
-        _type = "fix-strictness";
-        onEval = p: value;
-      };
-      content = mkNotdef;
-    };
-
-}
diff --git a/pkgs/lib/sources.nix b/pkgs/lib/sources.nix
deleted file mode 100644
index 6f8554d340be..000000000000
--- a/pkgs/lib/sources.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-# Functions for copying sources to the Nix store.
-
-let lib = import ./default.nix; in
-
-rec {
-
-
-  # Bring in a path as a source, filtering out all Subversion and CVS
-  # directories, as well as backup files (*~).
-  cleanSource =
-    let filter = name: type: let baseName = baseNameOf (toString name); in ! (
-      # Filter out Subversion and CVS directories.
-      (type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS")) ||
-      # Filter out backup files.
-      (lib.hasSuffix "~" baseName)
-    );
-    in src: builtins.filterSource filter src;
-
-
-  # Get all files ending with the specified suffices from the given
-  # directory.  E.g. `sourceFilesBySuffices ./dir [".xml" ".c"]'.
-  sourceFilesBySuffices = path: exts:
-    let filter = name: type:
-      let base = baseNameOf (toString name);
-      in type != "directory" && lib.any (ext: lib.hasSuffix ext base) exts;
-    in builtins.filterSource filter path;
-
-
-}
diff --git a/pkgs/lib/strings-with-deps.nix b/pkgs/lib/strings-with-deps.nix
deleted file mode 100644
index 3ad3e5991506..000000000000
--- a/pkgs/lib/strings-with-deps.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Usage:
-
-  You define you custom builder script by adding all build steps to a list.
-  for example:
-       builder = writeScript "fsg-4.4-builder"
-               (textClosure [doUnpack addInputs preBuild doMake installPhase doForceShare]);
-
-  a step is defined by noDepEntry, fullDepEntry or packEntry.
-  To ensure that prerequisite are met those are added before the task itself by
-  textClosureDupList. Duplicated items are removed again.
-
-  See trace/nixpkgs/trunk/pkgs/top-level/builder-defs.nix for some predefined build steps
-
-  Attention:
-
-  let
-    pkgs = (import /etc/nixos/nixpkgs/pkgs/top-level/all-packages.nix) {};
-  in let
-    inherit (pkgs.stringsWithDeps) fullDepEntry packEntry noDepEntry textClosureMap;
-    inherit (pkgs.lib) id;
-
-    nameA = noDepEntry "Text a";
-    nameB = fullDepEntry "Text b" ["nameA"];
-    nameC = fullDepEntry "Text c" ["nameA"];
-
-    stages = {
-      nameHeader = noDepEntry "#! /bin/sh \n";
-      inherit nameA nameB nameC;
-    };
-  in
-    textClosureMap id stages
-    [ "nameHeader" "nameA" "nameB" "nameC"
-      nameC # <- added twice. add a dep entry if you know that it will be added once only [1]
-      "nameB" # <- this will not be added again because the attr name (reference) is used
-    ]
-
-  # result: Str("#! /bin/sh \n\nText a\nText b\nText c\nText c",[])
-
-  [1] maybe this behaviour should be removed to keep things simple (?)
-*/
-
-with import ./lists.nix;
-with import ./attrsets.nix;
-with import ./strings.nix;
-
-rec {
-
-  /* !!! The interface of this function is kind of messed up, since
-     it's way too overloaded and almost but not quite computes a
-     topological sort of the depstrings. */
-
-  textClosureList = predefined: arg:
-    let
-      f = done: todo:
-        if todo == [] then {result = []; inherit done;}
-        else
-          let entry = head todo; in
-          if isAttrs entry then
-            let x = f done entry.deps;
-                y = f x.done (tail todo);
-            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);
-    in (f {} arg).result;
-
-  textClosureMap = f: predefined: names:
-    concatStringsSep "\n" (map f (textClosureList predefined names));
-
-  noDepEntry = text: {inherit text; deps = [];};
-  fullDepEntry = text: deps: {inherit text deps;};
-  packEntry = deps: {inherit deps; text="";};
-
-  stringAfter = deps: text: { inherit text deps; };
-
-}
diff --git a/pkgs/lib/strings.nix b/pkgs/lib/strings.nix
deleted file mode 100644
index 024a9ac7d7a2..000000000000
--- a/pkgs/lib/strings.nix
+++ /dev/null
@@ -1,190 +0,0 @@
-/* String manipulation functions. */
-
-let lib = import ./default.nix;
-
-inherit (builtins) add sub lessThan length;
-
-in
-
-rec {
-  inherit (builtins) stringLength substring head tail;
-
-
-  # Concatenate a list of strings.
-  concatStrings = lib.fold (x: y: x + y) "";
-
-
-  # Map a function over a list and concatenate the resulting strings.
-  concatMapStrings = f: list: concatStrings (map f list);
-  concatImapStrings = f: list: concatStrings (lib.imap f list);
-
-
-  # Place an element between each element of a list, e.g.,
-  # `intersperse "," ["a" "b" "c"]' returns ["a" "," "b" "," "c"].
-  intersperse = separator: list:
-    if list == [] || length list == 1
-    then list
-    else [(head list) separator]
-         ++ (intersperse separator (tail list));
-
-
-  # Concatenate a list of strings with a separator between each element, e.g.
-  # concatStringsSep " " ["foo" "bar" "xyzzy"] == "foo bar xyzzy"
-  concatStringsSep = separator: list:
-    concatStrings (intersperse separator list);
-
-
-  # Construct a Unix-style search path consisting of each `subDir"
-  # directory of the given list of packages.  For example,
-  # `makeSearchPath "bin" ["x" "y" "z"]' returns "x/bin:y/bin:z/bin".
-  makeSearchPath = subDir: packages:
-    concatStringsSep ":" (map (path: path + "/" + subDir) packages);
-
-
-  # Construct a library search path (such as RPATH) containing the
-  # libraries for a set of packages, e.g. "${pkg1}/lib:${pkg2}/lib:...".
-  makeLibraryPath = makeSearchPath "lib";
-
-
-  # Idem for Perl search paths.
-  makePerlPath = makeSearchPath "lib/perl5/site_perl";
-
-
-  # Dependening on the boolean `cond', return either the given string
-  # or the empty string.
-  optionalString = cond: string: if cond then string else "";
-
-
-  # Determine whether a filename ends in the given suffix.
-  hasSuffix = ext: fileName:
-    let lenFileName = stringLength fileName;
-        lenExt = stringLength ext;
-    in !(lessThan lenFileName lenExt) &&
-       substring (sub lenFileName lenExt) lenFileName fileName == ext;
-
-
-  # Convert a string to a list of characters (i.e. singleton strings).
-  # For instance, "abc" becomes ["a" "b" "c"].  This allows you to,
-  # e.g., map a function over each character.  However, note that this
-  # will likely be horribly inefficient; Nix is not a general purpose
-  # programming language.  Complex string manipulations should, if
-  # appropriate, be done in a derivation.
-  stringToCharacters = s: let l = stringLength s; in
-    if l == 0
-    then []
-    else map (p: substring p 1 s) (lib.range 0 (sub l 1));
-
-
-  # Manipulate a string charcater by character and replace them by strings
-  # before concatenating the results.
-  stringAsChars = f: s:
-    concatStrings (
-      map f (stringToCharacters s)
-    );
-
-
-  # same as vim escape function.
-  # Each character contained in list is prefixed by "\"
-  escape = list : string :
-    stringAsChars (c: if lib.elem c list then "\\${c}" else c) string;
-
-
-  # still ugly slow. But more correct now
-  # [] for zsh
-  escapeShellArg = lib.escape (stringToCharacters "\\ ';$`()|<>\t*[]");
-
-
-  # replace characters by their substitutes.  This function is equivalent to
-  # the `tr' command except that one character can be replace by multiple
-  # ones.  e.g.,
-  # replaceChars ["<" ">"] ["&lt;" "&gt;"] "<foo>" returns "&lt;foo&gt;".
-  replaceChars = del: new: s:
-    let
-      subst = c:
-        (lib.fold
-          (sub: res: if sub.fst == c then sub else res)
-          {fst = c; snd = c;} (lib.zipLists del new)
-        ).snd;
-    in
-      stringAsChars subst s;
-
-
-  # Case conversion utilities
-  lowerChars = stringToCharacters "abcdefghijklmnopqrstuvwxyz";
-  upperChars = stringToCharacters "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-  toLower = replaceChars upperChars lowerChars;
-  toUpper = replaceChars lowerChars upperChars;
-
-
-  # Compares strings not requiring context equality
-  # Obviously, a workaround but works on all Nix versions
-  eqStrings = a: b: (a+(substring 0 0 b)) == ((substring 0 0 a)+b);
-
-
-  # Cut a string with a separator and produces a list of strings which were
-  # separated by this separator. e.g.,
-  # `splitString "." "foo.bar.baz"' returns ["foo" "bar" "baz"].
-  splitString = sep: s:
-    let
-      sepLen = stringLength sep;
-      sLen = stringLength s;
-      lastSearch = sub 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
-          if startWithSep index then
-            let restartAt = add index sepLen; in
-            cutUntil index ++ recurse restartAt restartAt
-          else
-            recurse (add index 1) startAt
-        else
-          cutUntil sLen;
-    in
-      recurse 0 0;
-
-
-  # return the suffix of the second argument if the first argument match its
-  # prefix. e.g.,
-  # `removePrefix "foo." "foo.bar.baz"' returns "bar.baz".
-  removePrefix = pre: s:
-    let
-      preLen = stringLength pre;
-      sLen = stringLength s;
-    in
-      if pre == substring 0 preLen s then
-        substring preLen (sub sLen preLen) s
-      else
-        s;
-
-  # Return true iff string v1 denotes a version older than v2.
-  versionOlder = v1: v2: builtins.compareVersions v2 v1 == 1;
-
-
-  # Return true iff string v1 denotes a version equal to or newer than v2.
-  versionAtLeast = v1: v2: !versionOlder v1 v2;
-
-
-  # Get the version of the specified derivation, as specified in its
-  # ‘name’ attribute.
-  getVersion = drv: (builtins.parseDrvName drv.name).version;
-
-
-  # Extract name with version from URL. Ask for separator which is
-  # supposed to start extension
-  nameFromURL = url: sep: let
-    components = splitString "/" url;
-    filename = lib.last components;
-    name = builtins.head (splitString sep filename);
-  in
-  assert ! eqStrings name filename;
-  name;
-
-
-  # Create an --{enable,disable}-<feat> string that can be passed to
-  # standard GNU Autoconf scripts.
-  enableFeature = enable: feat: "--${if enable then "enable" else "disable"}-${feat}";
-
-}
diff --git a/pkgs/lib/systems.nix b/pkgs/lib/systems.nix
deleted file mode 100644
index 1ef869fb0120..000000000000
--- a/pkgs/lib/systems.nix
+++ /dev/null
@@ -1,126 +0,0 @@
-# Define the list of system with their properties.  Only systems tested for
-# Nixpkgs are listed below
-
-with import ./lists.nix;
-with import ./types.nix;
-with import ./attrsets.nix;
-
-let
-  lib = import ./default.nix;
-  setTypes = type:
-    mapAttrs (name: value:
-      setType type ({inherit name;} // value)
-    );
-in
-
-rec {
-
-  isSignificantByte = isType "significant-byte";
-  significantBytes = setTypes "significant-byte" {
-    bigEndian = {};
-    littleEndian = {};
-  };
-
-
-  isCpuType = x: typeOf x == "cpu-type"
-    && elem x.bits [8 16 32 64 128]
-    && (builtins.lessThan 8 x.bits -> isSignificantByte x.significantByte);
-
-  cpuTypes = with significantBytes;
-    setTypes "cpu-type" {
-      arm =      { bits = 32; significantByte = littleEndian; };
-      armv5tel = { bits = 32; significantByte = littleEndian; };
-      armv7l   = { bits = 32; significantByte = littleEndian; };
-      i686 =     { bits = 32; significantByte = littleEndian; };
-      powerpc =  { bits = 32; significantByte = bigEndian; };
-      x86_64 =   { bits = 64; significantByte = littleEndian; };
-    };
-
-
-  isExecFormat = isType "exec-format";
-  execFormats = setTypes "exec-format" {
-    aout = {}; # a.out
-    elf = {};
-    macho = {};
-    pe = {};
-    unknow = {};
-  };
-
-
-  isKernel = isType "kernel";
-  kernels = with execFormats;
-    setTypes "kernel" {
-      cygwin =  { execFormat = pe; };
-      darwin =  { execFormat = macho; };
-      freebsd = { execFormat = elf; };
-      linux =   { execFormat = elf; };
-      netbsd =  { execFormat = elf; };
-      none =    { execFormat = unknow; };
-      openbsd = { execFormat = elf; };
-      win32 =   { execFormat = pe; };
-    };
-
-
-  isArchitecture = isType "architecture";
-  architectures = setTypes "architecture" {
-    apple = {};
-    pc = {};
-    unknow = {};
-  };
-
-
-  isSystem = x: typeOf x == "system"
-    && isCpuType x.cpu
-    && isArchitecture x.arch
-    && isKernel x.kernel;
-
-  mkSystem = {
-    cpu ? cpuTypes.i686,
-    arch ? architectures.pc,
-    kernel ? kernels.linux,
-    name ? "${cpu.name}-${arch.name}-${kernel.name}"
-  }: setType "system" {
-    inherit name cpu arch kernel;
-  };
-
-
-  isDarwin = matchAttrs { kernel = kernels.darwin; };
-  isLinux = matchAttrs { kernel = kernels.linux; };
-  isi686 = matchAttrs { cpu = cpuTypes.i686; };
-  is64Bit = matchAttrs { cpu = { bits = 64; }; };
-
-
-  # This should revert the job done by config.guess from the gcc compiler.
-  mkSystemFromString = s: let
-    l = lib.splitString "-" s;
-
-    getCpu = name:
-      attrByPath [name] (throw "Unknow cpuType `${name}'.")
-        cpuTypes;
-    getArch = name:
-      attrByPath [name] (throw "Unknow architecture `${name}'.")
-        architectures;
-    getKernel = name:
-      attrByPath [name] (throw "Unknow kernel `${name}'.")
-        kernels;
-
-    system =
-      if builtins.length l == 2 then
-        mkSystem rec {
-          name = s;
-          cpu = getCpu (head l);
-          arch =
-            if isDarwin system
-            then architectures.apple
-            else architectures.pc;
-          kernel = getKernel (head (tail l));
-        }
-      else
-        mkSystem {
-          name = s;
-          cpu = getCpu (head l);
-          arch = getArch (head (tail l));
-          kernel = getKernel (head (tail (tail l)));
-        };
-  in assert isSystem system; system;
-}
diff --git a/pkgs/lib/tests.nix b/pkgs/lib/tests.nix
deleted file mode 100644
index 298bdffc3790..000000000000
--- a/pkgs/lib/tests.nix
+++ /dev/null
@@ -1,113 +0,0 @@
-let inherit (builtins) add; in
-with import ./default.nix;
-
-runTests {
-
-  testId = {
-    expr = id 1;
-    expected = 1;
-  };
-  
-  testConst = {
-    expr = const 2 3;
-    expected = 2;
-  };
-
-  /*
-  testOr = {
-    expr = or true false;
-    expected = true;
-  };
-  */
-  
-  testAnd = {
-    expr = and true false;
-    expected = false;
-  };
-  
-  testFix = {
-    expr = fix (x: {a = if x ? a then "a" else "b";});
-    expected = {a = "a";};
-  };
-
-  testConcatMapStrings = {
-    expr = concatMapStrings (x: x + ";") ["a" "b" "c"];
-    expected = "a;b;c;";
-  };
-
-  testConcatStringsSep = {
-    expr = concatStringsSep "," ["a" "b" "c"];
-    expected = "a,b,c";
-  };
-
-  testFilter = {
-    expr = filter (x: x != "a") ["a" "b" "c" "a"];
-    expected = ["b" "c"];
-  };
-
-  testFold = {
-    expr = fold (builtins.add) 0 (range 0 100);
-    expected = 5050;
-  };
-
-  testTake = testAllTrue [
-    ([] == (take 0 [  1 2 3 ]))
-    ([1] == (take 1 [  1 2 3 ]))
-    ([ 1 2 ] == (take 2 [  1 2 3 ]))
-    ([ 1 2 3 ] == (take 3 [  1 2 3 ]))
-    ([ 1 2 3 ] == (take 4 [  1 2 3 ]))
-  ];
-
-  testFoldAttrs = {
-    expr = foldAttrs (n: a: [n] ++ a) [] [
-    { a = 2; b = 7; }
-    { a = 3;        c = 8; }
-    ];
-    expected = { a = [ 2 3 ]; b = [7]; c = [8];};
-  };
-
-  testOverridableDelayableArgsTest = {
-    expr = 
-      let res1 = defaultOverridableDelayableArgs id {};
-          res2 = defaultOverridableDelayableArgs id { a = 7; };
-          res3 = let x = defaultOverridableDelayableArgs id { a = 7; };
-                 in (x.merge) { b = 10; };
-          res4 = let x = defaultOverridableDelayableArgs id { a = 7; };
-                in (x.merge) ( x: { b = 10; });
-          res5 = let x = defaultOverridableDelayableArgs id { a = 7; };
-                in (x.merge) ( x: { a = add x.a 3; });
-          res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
-                     y = x.merge {};
-                in (y.merge) { a = 10; };
-
-          resRem7 = res6.replace (a : removeAttrs a ["a"]);
-
-          resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
-                            x2 = x.merge { a = 20; }; # now we have 27
-                        in (x2.replace) { a = 10; }; # and override the value by 10
-
-          # fixed tests (delayed args): (when using them add some comments, please)
-          resFixed1 = 
-                let x = defaultOverridableDelayableArgs id ( x : { a = 7; c = x.fixed.b; });
-                    y = x.merge (x : { name = "name-${builtins.toString x.fixed.c}"; });
-                in (y.merge) { b = 10; };
-          strip = attrs : removeAttrs attrs ["merge" "replace"];
-      in all id
-        [ ((strip res1) == { })
-          ((strip res2) == { a = 7; })
-          ((strip res3) == { a = 7; b = 10; })
-          ((strip res4) == { a = 7; b = 10; })
-          ((strip res5) == { a = 10; })
-          ((strip res6) == { a = 17; })
-          ((strip resRem7) == {})
-          ((strip resFixed1) == { a = 7; b = 10; c =10; name = "name-10"; })
-        ];
-    expected = true;
-  };
-
-  testSort = {
-    expr = sort builtins.lessThan [ 40 2 30 42 ];
-    expected = [2 30 40 42];
-  };
-  
-}
diff --git a/pkgs/lib/trivial.nix b/pkgs/lib/trivial.nix
deleted file mode 100644
index 8af3474f2a67..000000000000
--- a/pkgs/lib/trivial.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-with {
-  inherit (import ./lists.nix) deepSeqList;
-  inherit (import ./attrsets.nix) deepSeqAttrs;
-};
-
-rec {
-
-  # Identity function.
-  id = x: x;
-
-  # Constant function.
-  const = x: y: x;
-
-  # Named versions corresponding to some builtin operators.
-  concat = x: y: x ++ y;
-  or = x: y: x || y;
-  and = x: y: x && y;
-  mergeAttrs = x: y: x // y;
-  
-  # Take a function and evaluate it with its own returned value.
-  fix = f: let result = f result; in result;
-
-  # 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;
-}
diff --git a/pkgs/lib/types.nix b/pkgs/lib/types.nix
deleted file mode 100644
index 156d72ac5e73..000000000000
--- a/pkgs/lib/types.nix
+++ /dev/null
@@ -1,226 +0,0 @@
-# Definitions related to run-time type checking.  Used in particular
-# to type-check NixOS configurations.
-
-let lib = import ./default.nix; in
-
-with import ./lists.nix;
-with import ./attrsets.nix;
-with import ./options.nix;
-with import ./trivial.nix;
-
-rec {
-
-  isType = type: x: (x._type or "") == type;
-  hasType = x: isAttrs x && x ? _type;
-  typeOf = x: x._type or "";
-
-  setType = typeName: value: value // {
-    _type = typeName;
-  };
-
-
-  # name (name of the type)
-  # check (check the config value. Before returning false it should trace the bad value eg using traceValIfNot)
-  # merge (default merge function)
-  # iter (iterate on all elements contained in this type)
-  # fold (fold all elements contained in this type)
-  # hasOptions (boolean: whatever this option contains an option set)
-  # delayOnGlobalEval (boolean: should properties go through the evaluation of this option)
-  # docPath (path concatenated to the option name contained in the option set)
-  isOptionType = isType "option-type";
-  mkOptionType =
-    { name
-    , check ? (x: true)
-    , merge ? mergeDefaultOption
-    # Handle complex structure types.
-    , iter ? (f: path: v: f path v)
-    , fold ? (op: nul: v: op v nul)
-    , docPath ? lib.id
-    # If the type can contains option sets.
-    , hasOptions ? false
-    , delayOnGlobalEval ? false
-    }:
-
-    { _type = "option-type";
-      inherit name check merge iter fold docPath hasOptions delayOnGlobalEval;
-    };
-
-
-  types = rec {
-
-    bool = mkOptionType {
-      name = "boolean";
-      check = lib.traceValIfNot builtins.isBool;
-      merge = fold lib.or false;
-    };
-
-    int = mkOptionType {
-      name = "integer";
-      check = lib.traceValIfNot builtins.isInt;
-    };
-
-    string = mkOptionType {
-      name = "string";
-      check = lib.traceValIfNot builtins.isString;
-      merge = lib.concatStrings;
-    };
-
-    # Like ‘string’, but add newlines between every value.  Useful for
-    # configuration file contents.
-    lines = mkOptionType {
-      name = "string";
-      check = lib.traceValIfNot builtins.isString;
-      merge = lib.concatStringsSep "\n";
-    };
-
-    envVar = mkOptionType {
-      name = "environment variable";
-      inherit (string) check;
-      merge = lib.concatStringsSep ":";
-    };
-
-    attrs = mkOptionType {
-      name = "attribute set";
-      check = lib.traceValIfNot isAttrs;
-      merge = fold lib.mergeAttrs {};
-    };
-
-    # derivation is a reserved keyword.
-    package = mkOptionType {
-      name = "derivation";
-      check = lib.traceValIfNot isDerivation;
-    };
-
-    path = mkOptionType {
-      name = "path";
-      # Hacky: there is no ‘isPath’ primop.
-      check = lib.traceValIfNot (x: builtins.unsafeDiscardStringContext (builtins.substring 0 1 (toString x)) == "/");
-    };
-
-    # drop this in the future:
-    list = builtins.trace "types.list is deprecated, use types.listOf instead" types.listOf;
-
-    listOf = elemType: mkOptionType { 
-      name = "list of ${elemType.name}s";
-      check = value: lib.traceValIfNot isList value && all elemType.check value;
-      merge = concatLists;
-      iter = f: path: list: map (elemType.iter f (path + ".*")) list;
-      fold = op: nul: list: lib.fold (e: l: elemType.fold op l e) nul list;
-      docPath = path: elemType.docPath (path + ".*");
-      inherit (elemType) hasOptions;
-
-      # You cannot define multiple configurations of one entity, therefore
-      # no reason justify to delay properties inside list elements.
-      delayOnGlobalEval = false;
-    };
-
-    attrsOf = elemType: mkOptionType {
-      name = "attribute set of ${elemType.name}s";
-      check = x: lib.traceValIfNot isAttrs x
-        && all elemType.check (lib.attrValues x); 
-      merge = lib.zipAttrsWith (name: elemType.merge);
-      iter = f: path: set: lib.mapAttrs (name: elemType.iter f (path + "." + name)) set;
-      fold = op: nul: set: fold (e: l: elemType.fold op l e) nul (lib.attrValues set);
-      docPath = path: elemType.docPath (path + ".<name>");
-      inherit (elemType) hasOptions delayOnGlobalEval;
-    };
-
-    # List or attribute set of ...
-    loaOf = elemType:
-      let
-        convertIfList = defIdx: def:
-          if isList def then
-            listToAttrs (
-              flip imap def (elemIdx: elem:
-                nameValuePair "unnamed-${toString defIdx}.${toString elemIdx}" elem))
-          else
-            def;
-        listOnly = listOf elemType;
-        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 lib.traceValIfNot (x: false) x;
-        ## The merge function returns an attribute set
-        merge = defs:
-          attrOnly.merge (imap convertIfList defs);
-        iter = f: path: def:
-          if isList def       then listOnly.iter f path def
-          else if isAttrs def then attrOnly.iter f path def
-          else throw "Unexpected value";
-        fold = op: nul: def:
-          if isList def       then listOnly.fold op nul def
-          else if isAttrs def then attrOnly.fold op nul def
-          else throw "Unexpected value";
-
-        docPath = path: elemType.docPath (path + ".<name?>");
-        inherit (elemType) hasOptions delayOnGlobalEval;
-      }
-    ;
-
-    uniq = elemType: mkOptionType {
-      inherit (elemType) name check iter fold docPath hasOptions;
-      merge = list:
-        if length list == 1 then
-          head list
-        else
-          throw "Multiple definitions of ${elemType.name}. Only one is allowed for this option.";
-    };
-
-    none = elemType: mkOptionType {
-      inherit (elemType) name check iter fold docPath hasOptions;
-      merge = list:
-        throw "No definitions are allowed for this option.";
-    };
-
-    nullOr = elemType: mkOptionType {
-      inherit (elemType) name merge docPath hasOptions;
-      check = x: builtins.isNull x || elemType.check x;
-      iter = f: path: v: if v == null then v else elemType.iter f path v;
-      fold = op: nul: v: if v == null then nul else elemType.fold op nul v;
-    };
-
-    functionTo = elemType: mkOptionType {
-      name = "function that evaluates to a(n) ${elemType.name}";
-      check = lib.traceValIfNot builtins.isFunction;
-      merge = fns:
-        args: elemType.merge (map (fn: fn args) fns);
-      # These are guesses, I don't fully understand iter, fold, delayOnGlobalEval
-      iter = f: path: v:
-        args: elemType.iter f path (v args);
-      fold = op: nul: v:
-        args: elemType.fold op nul (v args);
-      inherit (elemType) delayOnGlobalEval;
-      hasOptions = false;
-    };
-
-    # usually used with listOf, attrsOf, loaOf like this:
-    # users = mkOption {
-    #   type = loaOf optionSet;
-    #
-    #   # you can omit the list if there is one element only
-    #   options = [ {
-    #     name = mkOption {
-    #       description = "name of the user"
-    #       ...
-    #     };
-    #     # more options here
-    #   } { more options } ];
-    # }
-    # TODO: !!! document passing options as an argument to optionSet,
-    # deprecate the current approach.
-    optionSet = mkOptionType {
-      name = "option set";
-      # merge is done in "options.nix > addOptionMakeUp > handleOptionSets"
-      merge = lib.id;
-      check = x: isAttrs x || builtins.isFunction x;
-      hasOptions = true;
-      delayOnGlobalEval = true;
-    };
-
-  };
-
-}
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/misc/emulators/hatari/default.nix
index e4eeff9cd544..150b45dd7275 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/misc/emulators/hatari/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://hatari.tuxfamily.org/";
-    description = "Hatari is an Atari ST/STE/TT/Falcon emulator.";
+    description = "Atari ST/STE/TT/Falcon emulator";
     license = "GPLv2+";
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index 2df8f2fd97a7..b3c71c891912 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     + (if pam != null then " --enable-pam --enable-bad-pam" else " --disable-pam");
 
   meta = {
-    description = "Xlockmore, a screen locker for the X Window System.";
+    description = "Screen locker for the X Window System";
     homepage = "http://www.tux.org/~bagleyd/xlockmore.html";
     license = "GPL";
   };
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index 6bb44d7db449..d694a9e5ed24 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
+    description = "Show battery status and other ACPI information";
     longDescription = ''
       Linux ACPI client is a small command-line
       program that attempts to replicate the functionality of
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index da71eb8c7095..858be431a91d 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://apparmor.net/;
-    description = "A Linux application security system";
+    description = "Linux application security system";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/dstat/default.nix b/pkgs/os-specific/linux/dstat/default.nix
index fb454c78788b..138b4ff468f1 100644
--- a/pkgs/os-specific/linux/dstat/default.nix
+++ b/pkgs/os-specific/linux/dstat/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://dag.wieers.com/home-made/dstat/;
-    description = "Versatile resource statistics tool.";
+    description = "Versatile resource statistics tool";
     license = "GPLv2";
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ ];
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
index 48197ae14ca5..30b70035dfac 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.0.88";
+  version = "3.0.99";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1icfkbn9a5cpwiax1xklvpqyjcvqij3dwib009fipp53z4pn5bz4";
+    sha256 = "1p31gq9kzwfks980y6rb2mjyagj8lrh6y156a550v7mk0bd4fzdi";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index fa57fdd93ddc..65660619857b 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.10";
+  version = "3.10.15";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "01cpg6j1jsjh4vgvmia12y6rci4gqb967gc0gqpz5gcimzg4bb5p";
+    sha256 = "07wjh58sylbbw9hwxd5xvbz3dxd05iar8ahzk90lki38m5157ffk";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.11.nix
index 3d332bd2ce29..6a3320669a51 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.11.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.11.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.11.2";
+  version = "3.11.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "139w8g59fa2kw39kkcpln54mvrl2rq1gv3nqdcrhcy6n1b7r4194";
+    sha256 = "1kv6j7mc5r5qw43kirc0fv83khpnwy8m7158qf8ar08p3r01i3mi";
   };
 
   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 dc77c55696aa..f7cd28920511 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12-rc2";
+  version = "3.12-rc3";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-${version}.tar.gz";
-    sha256 = "1m24fh3cwmkb1scn3sl7gbc50jl53v357kjpgda9avi3ljxmyq5z";
+    sha256 = "1rayb0f4n81yp9ghcws0v36dpqyl9ks3naf37p2qy7jvrwagmj28";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 953f7d691575..d37ca172479d 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.63";
+  version = "3.4.66";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0wphxk0lzbcd7vplvnx4b2h446pmdv2gxc0gnjbrzfl0v4lgz1y3";
+    sha256 = "09jrj989mqk76klrg5zq1z8qrx3gif69bqi78ywq3jky8dmrwz3y";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index c1dec8b926a3..5a9b3587870f 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, fetchurl, libcap, apparmor, perl, docbook2x, docbook_xml_dtd_45 }:
+{ stdenv, autoreconfHook, fetchurl, libcap, apparmor, perl, docbook2x
+, docbook_xml_dtd_45, gnutls, pkgconfig
+}:
 
 stdenv.mkDerivation rec {
-  name = "lxc-0.9.0";
+  name = "lxc-1.0.0.alpha1-92-g8111adf";
 
   src = fetchurl {
-    url = "mirror://sourceforge/lxc/${name}.tar.gz";
-    sha256 = "0821clxymkgp71n720xj5ngs22s2v8jks68f5j4vypycwvm6f5qy";
+    url = "http://github.com/lxc/lxc/archive/${name}.tar.gz";
+    sha256 = "05hjrn79wyjnm4ynf8y0j7pk2hwfrzp4dzwynxq4z2wxlc1ficd5";
   };
 
-  buildInputs = [ libcap apparmor perl docbook2x ];
+  buildInputs = [ libcap apparmor perl docbook2x gnutls autoreconfHook pkgconfig ];
 
-  patches = [
-    ./dont-run-ldconfig.patch
-    ./install-localstatedir-in-store.patch
-    ./support-db2x.patch
-  ];
+  patches = [ ./install-localstatedir-in-store.patch ./support-db2x.patch ];
 
   preConfigure = "export XML_CATALOG_FILES=${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
 
diff --git a/pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch b/pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch
deleted file mode 100644
index 6904eec5175a..000000000000
--- a/pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ubr lxc-0.9.0-orig/src/lxc/Makefile.am lxc-0.9.0/src/lxc/Makefile.am
---- lxc-0.9.0-orig/src/lxc/Makefile.am	2013-04-15 10:50:22.898102973 +0200
-+++ lxc-0.9.0/src/lxc/Makefile.am	2013-04-15 10:50:44.264862808 +0200
-@@ -193,7 +193,6 @@
- 	mkdir -p $(DESTDIR)$(datadir)/lxc
- 	install -c -m 644 lxc.functions $(DESTDIR)$(datadir)/lxc
- 	mv $(DESTDIR)$(libdir)/liblxc.so $(DESTDIR)$(libdir)/liblxc.so.$(VERSION)
--	/sbin/ldconfig -l $(DESTDIR)$(libdir)/liblxc.so.$(VERSION)
- 	cd $(DESTDIR)$(libdir); \
- 	ln -sf liblxc.so.$(VERSION) liblxc.so.$(firstword $(subst ., ,$(VERSION))); \
- 	ln -sf liblxc.so.$(firstword $(subst ., ,$(VERSION))) liblxc.so
-diff -ubr lxc-0.9.0-orig/src/lxc/Makefile.in lxc-0.9.0/src/lxc/Makefile.in
---- lxc-0.9.0-orig/src/lxc/Makefile.in	2013-04-15 10:50:22.898102973 +0200
-+++ lxc-0.9.0/src/lxc/Makefile.in	2013-04-15 10:51:08.755810177 +0200
-@@ -1519,7 +1519,6 @@
- 	mkdir -p $(DESTDIR)$(datadir)/lxc
- 	install -c -m 644 lxc.functions $(DESTDIR)$(datadir)/lxc
- 	mv $(DESTDIR)$(libdir)/liblxc.so $(DESTDIR)$(libdir)/liblxc.so.$(VERSION)
--	/sbin/ldconfig -l $(DESTDIR)$(libdir)/liblxc.so.$(VERSION)
- 	cd $(DESTDIR)$(libdir); \
- 	ln -sf liblxc.so.$(VERSION) liblxc.so.$(firstword $(subst ., ,$(VERSION))); \
- 	ln -sf liblxc.so.$(firstword $(subst ., ,$(VERSION))) liblxc.so
diff --git a/pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch b/pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch
index 061875aa3b6f..d45335a02324 100644
--- a/pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch
+++ b/pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch
@@ -1,7 +1,8 @@
-diff -ubr lxc-0.9.0-orig/Makefile.am lxc-0.9.0/Makefile.am
---- lxc-0.9.0-orig/Makefile.am	2013-04-15 10:50:22.899103057 +0200
-+++ lxc-0.9.0/Makefile.am	2013-04-15 10:58:41.189504254 +0200
-@@ -25,8 +25,8 @@
+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:
@@ -12,17 +13,3 @@ diff -ubr lxc-0.9.0-orig/Makefile.am lxc-0.9.0/Makefile.am
  
  ChangeLog::
  	@touch ChangeLog
-diff -ubr lxc-0.9.0-orig/Makefile.in lxc-0.9.0/Makefile.in
---- lxc-0.9.0-orig/Makefile.in	2013-04-15 10:50:22.899103057 +0200
-+++ lxc-0.9.0/Makefile.in	2013-04-15 10:58:58.817870957 +0200
-@@ -805,8 +805,8 @@
- 
- 
- 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/lxc/support-db2x.patch b/pkgs/os-specific/linux/lxc/support-db2x.patch
index 8be7f5f0a92b..4662ca2e5048 100644
--- a/pkgs/os-specific/linux/lxc/support-db2x.patch
+++ b/pkgs/os-specific/linux/lxc/support-db2x.patch
@@ -1,29 +1,16 @@
-diff -ubr lxc-0.9.0-orig/configure lxc-0.9.0/configure
---- lxc-0.9.0-orig/configure	2013-04-15 10:50:22.899103057 +0200
-+++ lxc-0.9.0/configure	2013-04-15 11:08:08.696539776 +0200
-@@ -4792,7 +4792,7 @@
- 
- 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for docbook2x-man" >&5
- $as_echo_n "checking for docbook2x-man... " >&6; }
--	for name in docbook2x-man db2x_docbook2man; do
-+	for name in docbook2x-man db2x_docbook2man docbook2man; do
- 		if "$name" --help >/dev/null 2>&1; then
- 			db2xman="$name"
- 			break;
-@@ -8353,4 +8353,3 @@
-   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+diff --git a/configure.ac b/configure.ac
+index 92a4690..4dd341b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,9 +91,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
+ 	AC_SUBST(db2xman)
  fi
--
-diff -ubr lxc-0.9.0-orig/configure.ac lxc-0.9.0/configure.ac
---- lxc-0.9.0-orig/configure.ac	2013-04-15 10:50:22.896102806 +0200
-+++ lxc-0.9.0/configure.ac	2013-04-15 11:07:52.399582819 +0200
-@@ -67,7 +67,7 @@
- 	db2xman=""
+ AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"])
+-AM_CONDITIONAL([USE_DOCBOOK2X], [test "x$db2xman" != "xdocbook2man"])
++AM_CONDITIONAL([USE_DOCBOOK2X], [test "x$db2xman" != "no-no-no"])
  
- 	AC_MSG_CHECKING(for docbook2x-man)
--	for name in docbook2x-man db2x_docbook2man; do
-+	for name in docbook2x-man db2x_docbook2man docbook2man; do
- 		if "$name" --help >/dev/null 2>&1; then
- 			db2xman="$name"
- 			break;
+-if test "x$db2xman" = "xdocbook2man"; then
++if test "x$db2xman" = "no-no-no"; then
+ 	docdtd="\"-//Davenport//DTD DocBook V3.0//EN\""
+ else
+ 	docdtd="\"-//OASIS//DTD DocBook XML\" \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\""
diff --git a/pkgs/os-specific/linux/pam_ccreds/default.nix b/pkgs/os-specific/linux/pam_ccreds/default.nix
index 4d48c86dd142..7f84918156c4 100644
--- a/pkgs/os-specific/linux/pam_ccreds/default.nix
+++ b/pkgs/os-specific/linux/pam_ccreds/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation {
   buildInputs = [pam openssl db];
   meta = {
     homepage = "http://www.padl.com/OSS/pam_ccreds.html";
-    description = "The pam_ccreds module provides the means for Linux workstations to locally authenticate using an enterprise identity when the network is unavailable.";
+    description = "PAM module to locally authenticate using an enterprise identity when the network is unavailable";
   };
 }
diff --git a/pkgs/os-specific/linux/pam_krb5/default.nix b/pkgs/os-specific/linux/pam_krb5/default.nix
index 62f9b5c119b5..5f95811e0f6a 100644
--- a/pkgs/os-specific/linux/pam_krb5/default.nix
+++ b/pkgs/os-specific/linux/pam_krb5/default.nix
@@ -14,6 +14,10 @@ stdenv.mkDerivation {
   meta = {
 #    homepage = "http://www.eyrie.org/~eagle/software/pam-krb5";
     homepage = "https://fedorahosted.org/pam_krb5/";
-    description = "The pam_krb5 module allows PAM-aware applications to authenticate users by performing an AS exchange with a Kerberos KDC. It can optionally convert Kerberos 5 credentials to Kerberos IV credentials and/or use them to set up AFS tokens for a user's session.";
+    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.
+    '';
   };
 }
diff --git a/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch b/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
deleted file mode 100644
index 84a03dd97330..000000000000
--- a/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8f861550827e750fb56954c3f91a2f565abb42bb Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Tue, 8 Jan 2013 15:44:33 +0100
-Subject: [PATCH 01/11] Make "systemctl daemon-reexec" do the right thing on
- NixOS
-
----
- src/core/main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/main.c b/src/core/main.c
-index 7fc06be..7575223 100644
---- a/src/core/main.c
-+++ b/src/core/main.c
-@@ -1857,7 +1857,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";
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch b/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch
deleted file mode 100644
index 15946506ac18..000000000000
--- a/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 2afcee0b4da066fb5f8fc00b749d88f5bd9df3d3 Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Tue, 8 Jan 2013 15:45:01 +0100
-Subject: [PATCH 02/11] Ignore duplicate paths in "systemctl start"
-
----
- src/systemctl/systemctl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index 3cca861..16791a2 100644
---- a/src/systemctl/systemctl.c
-+++ b/src/systemctl/systemctl.c
-@@ -1867,7 +1867,7 @@ static int start_unit_one(
-                         return log_oom();
- 
-                 r = set_consume(s, p);
--                if (r < 0) {
-+                if (r < 0 && r != -EEXIST) {
-                         log_error("Failed to add path to set.");
-                         return r;
-                 }
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch b/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch
deleted file mode 100644
index 2927d6e4dc69..000000000000
--- a/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b288ca7d376e3a78368a2b59529ebe5ba812babf Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Tue, 8 Jan 2013 15:46:30 +0100
-Subject: [PATCH 03/11] Start device units for uninitialised encrypted devices
-
-This is necessary because the NixOS service that initialises the
-filesystem depends on the appearance of the device unit.  Also, this
-makes more sense to me: the device is ready; it's the filesystem
-that's not, but taking care of that is the responsibility of the mount
-unit.  (However, this ignores the fsck unit, so it's not perfect...)
----
- rules/99-systemd.rules.in | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
-index d17bdd9..040b10e 100644
---- a/rules/99-systemd.rules.in
-+++ b/rules/99-systemd.rules.in
-@@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd"
- SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG+="systemd"
- SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
- 
--# Ignore encrypted devices with no identified superblock on it, since
--# we are probably still calling mke2fs or mkswap on it.
--SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0"
--
- # 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"
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch b/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch
deleted file mode 100644
index 54fcf9c3e1ee..000000000000
--- a/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 7a498e661f3d111fa09700a6cfa62cfd6733b1cc Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Tue, 8 Jan 2013 15:48:19 +0100
-Subject: [PATCH 04/11] Set switch-to-configuration hints for some units
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Target units like local-fs.target need ‘X-StopOnReconfiguration=yes’
-to ensure dependencies *on* that target properly take into account the
-dependencies *of* the target.
-
-‘X-RestartIfChanged=no’ is necessary for systemd-journald.service
-because restarting it causes services connected to journald to stop
-logging.
-
-‘X-RestartIfChanged=no’ is necessary for systemd-user-sessions.service
-to prevent all user sessions from being killed when this unit changes.
----
- units/local-fs.target                  | 2 ++
- units/remote-fs.target                 | 2 ++
- units/systemd-journald.service.in      | 5 +++++
- units/systemd-user-sessions.service.in | 3 +++
- 4 files changed, 12 insertions(+)
-
-diff --git a/units/local-fs.target b/units/local-fs.target
-index 18c3d74..a09054c 100644
---- a/units/local-fs.target
-+++ b/units/local-fs.target
-@@ -11,3 +11,5 @@ Documentation=man:systemd.special(7)
- After=local-fs-pre.target
- OnFailure=emergency.target
- OnFailureIsolate=no
-+
-+X-StopOnReconfiguration=yes
-diff --git a/units/remote-fs.target b/units/remote-fs.target
-index 09213e8..47b4cf5 100644
---- a/units/remote-fs.target
-+++ b/units/remote-fs.target
-@@ -10,5 +10,7 @@ Description=Remote File Systems
- Documentation=man:systemd.special(7)
- After=remote-fs-pre.target
- 
-+X-StopOnReconfiguration=yes
-+
- [Install]
- WantedBy=multi-user.target
-diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
-index ab2e50c..9563a7d 100644
---- a/units/systemd-journald.service.in
-+++ b/units/systemd-journald.service.in
-@@ -24,3 +24,8 @@ CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG C
- # Increase the default a bit in order to allow many simultaneous
- # services being run since we keep one fd open per service.
- LimitNOFILE=16384
-+
-+# Don't restart journald, since that causes services connected to
-+# journald to stop logging (see
-+# https://bugs.freedesktop.org/show_bug.cgi?id=56043).
-+X-RestartIfChanged=no
-diff --git a/units/systemd-user-sessions.service.in b/units/systemd-user-sessions.service.in
-index 0869e73..b6ed958 100644
---- a/units/systemd-user-sessions.service.in
-+++ b/units/systemd-user-sessions.service.in
-@@ -15,3 +15,6 @@ Type=oneshot
- RemainAfterExit=yes
- ExecStart=@rootlibexecdir@/systemd-user-sessions start
- ExecStop=@rootlibexecdir@/systemd-user-sessions stop
-+
-+# Restart kills all active sessions.
-+X-RestartIfChanged=no
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch b/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
deleted file mode 100644
index 9cbb2f716a8a..000000000000
--- a/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e6bbe5fa858bd8196c8e1f264904679e6bda426d Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Tue, 8 Jan 2013 15:56:03 +0100
-Subject: [PATCH 05/11] sysinit.target: Drop the dependency on local-fs.target
- and swap.target
-
-Having all services with DefaultDependencies=yes depend on
-local-fs.target is annoying, because some of those services might be
-necessary to mount local filesystems.  For instance, Charon's
-send-keys feature requires sshd to be running in order to receive LUKS
-encryption keys, which in turn requires dhcpcd, and so on.  So we drop
-this dependency (and swap.target as well for consistency).  If
-services require a specific mount, they should use RequiresMountsFor
-in any case.
----
- units/sysinit.target | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/units/sysinit.target b/units/sysinit.target
-index 8f4fb8f..e0f0147 100644
---- a/units/sysinit.target
-+++ b/units/sysinit.target
-@@ -9,6 +9,5 @@
- 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
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch b/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch
deleted file mode 100644
index d73733a68b00..000000000000
--- a/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 4731a9074538e9e24d2b81fc737917b064e194e6 Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Tue, 8 Jan 2013 18:36:28 +0100
-Subject: [PATCH 06/11] Don't call "plymouth quit"
-
-NixOS doesn't use Plymouth (yet).
----
- units/emergency.service.in | 1 -
- units/rescue.service.m4.in | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/units/emergency.service.in b/units/emergency.service.in
-index 442f0e0..6b7eafd 100644
---- a/units/emergency.service.in
-+++ b/units/emergency.service.in
-@@ -15,7 +15,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
-diff --git a/units/rescue.service.m4.in b/units/rescue.service.m4.in
-index 269797a..2c640f4 100644
---- a/units/rescue.service.m4.in
-+++ b/units/rescue.service.m4.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
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch b/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch
deleted file mode 100644
index f3b3103fe68e..000000000000
--- a/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From f0c362873860526579bf9bda216005fd5a0936dd Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Mon, 4 Feb 2013 12:41:14 +0100
-Subject: [PATCH 07/11] Ignore IPv6 link-local addresses
-
-Returning IPv6 link-local addresses is a bad idea, because they only
-work if an application connects specifically over the corresponding
-interface.  So you get errors like:
-
-  $ curl -6 http://my-machine/
-  curl: (7) Failed to connect to fe80::d6be:d9ff:fe1b:8477: Invalid argument
-
-To prevent this, this patch filters out link-local addresses.  So if
-you don't have a routable IPv6 address, nss-myhostname will fall back
-to returning ::1.
----
- src/nss-myhostname/netlink.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
-index b1ef912..4f2ab5c 100644
---- a/src/nss-myhostname/netlink.c
-+++ b/src/nss-myhostname/netlink.c
-@@ -113,6 +113,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;
- 
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0008-Don-t-try-to-unmount-nix-or-nix-store.patch b/pkgs/os-specific/linux/systemd/0008-Don-t-try-to-unmount-nix-or-nix-store.patch
deleted file mode 100644
index 252f1cde79a8..000000000000
--- a/pkgs/os-specific/linux/systemd/0008-Don-t-try-to-unmount-nix-or-nix-store.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0112df74e576dd683c132ec33861b7099dc94454 Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Fri, 12 Apr 2013 13:16:57 +0200
-Subject: [PATCH 08/11] Don't try to unmount /nix or /nix/store
-
-They'll still be remounted read-only.
-
-https://github.com/NixOS/nixos/issues/126
----
- src/core/umount.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/core/umount.c b/src/core/umount.c
-index 1e95ad7..9f0e471 100644
---- a/src/core/umount.c
-+++ b/src/core/umount.c
-@@ -435,6 +435,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, "/")
-+                    || path_equal(m->path, "/nix")
-+                    || path_equal(m->path, "/nix/store")
- #ifndef HAVE_SPLIT_USR
-                     || path_equal(m->path, "/usr")
- #endif
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0009-Start-ctrl-alt-del.target-irreversibly.patch b/pkgs/os-specific/linux/systemd/0009-Start-ctrl-alt-del.target-irreversibly.patch
deleted file mode 100644
index 8a78ded4b0da..000000000000
--- a/pkgs/os-specific/linux/systemd/0009-Start-ctrl-alt-del.target-irreversibly.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ed7c22c76e1399861ec8e0216f08a7f9419eea50 Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Tue, 7 May 2013 14:03:13 +0200
-Subject: [PATCH 09/11] Start ctrl-alt-del.target irreversibly
-
-This makes ctrl-alt-del reboots more robust, just like "systemctl
-reboot".
----
- src/core/manager.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/manager.c b/src/core/manager.c
-index c7f8f20..0508628 100644
---- a/src/core/manager.c
-+++ b/src/core/manager.c
-@@ -1372,7 +1372,7 @@ static int manager_process_signal_fd(Manager *m) {
- 
-                 case SIGINT:
-                         if (m->running_as == SYSTEMD_SYSTEM) {
--                                manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE);
-+                                manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY);
-                                 break;
-                         }
- 
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0010-Fix-CPUShares-configuration-option.patch b/pkgs/os-specific/linux/systemd/0010-Fix-CPUShares-configuration-option.patch
deleted file mode 100644
index 1f4852e6bfae..000000000000
--- a/pkgs/os-specific/linux/systemd/0010-Fix-CPUShares-configuration-option.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 687e657cd320cb4d4ae442e3529ae9571108bb6e Mon Sep 17 00:00:00 2001
-From: Eelco Dolstra <eelco.dolstra@logicblox.com>
-Date: Fri, 24 May 2013 13:34:53 -0400
-Subject: [PATCH 10/11] Fix CPUShares configuration option
-
-This fixes the error message "Unknown or unsupported cgroup attribute
-CPUShares".
----
- src/core/cgroup-semantics.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/cgroup-semantics.c b/src/core/cgroup-semantics.c
-index 82b02bb..7df9d01 100644
---- a/src/core/cgroup-semantics.c
-+++ b/src/core/cgroup-semantics.c
-@@ -255,7 +255,7 @@ static int map_blkio(const CGroupSemantics *s, const char *value, char **ret) {
- }
- 
- static const CGroupSemantics semantics[] = {
--        { "cpu",     "cpu.shares",                 "CPUShare",              false, parse_cpu_shares,          NULL,       NULL },
-+        { "cpu",     "cpu.shares",                 "CPUShares",             false, parse_cpu_shares,          NULL,       NULL },
-         { "memory",  "memory.soft_limit_in_bytes", "MemorySoftLimit",       false, parse_memory_limit,        NULL,       NULL },
-         { "memory",  "memory.limit_in_bytes",      "MemoryLimit",           false, parse_memory_limit,        NULL,       NULL },
-         { "devices", "devices.allow",              "DeviceAllow",           true,  parse_device,              map_device, NULL },
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/0011-polkit-Avoid-race-condition-in-scraping-proc.patch b/pkgs/os-specific/linux/systemd/0011-polkit-Avoid-race-condition-in-scraping-proc.patch
deleted file mode 100644
index 08446db72c52..000000000000
--- a/pkgs/os-specific/linux/systemd/0011-polkit-Avoid-race-condition-in-scraping-proc.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From ab7707b4a9b1b7615bfe2e30e4a2bc9cb5261766 Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters@verbum.org>
-Date: Thu, 22 Aug 2013 13:55:21 -0400
-Subject: [PATCH 11/11] polkit: Avoid race condition in scraping /proc
-
-If a calling process execve()s a setuid program, it can appear to be
-uid 0.  Since we're receiving requests over DBus, avoid this by simply
-passing system-bus-name as a subject.
----
- src/shared/polkit.c | 31 +++++--------------------------
- 1 file changed, 5 insertions(+), 26 deletions(-)
-
-diff --git a/src/shared/polkit.c b/src/shared/polkit.c
-index cea7074..1c5e9e3 100644
---- a/src/shared/polkit.c
-+++ b/src/shared/polkit.c
-@@ -38,12 +38,8 @@ int verify_polkit(
- 
- #ifdef ENABLE_POLKIT
-         DBusMessage *m = NULL, *reply = NULL;
--        const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = "";
-+        const char *system_bus_name = "system-bus-name", *name = "name", *cancel_id = "";
-         uint32_t flags = interactive ? 1 : 0;
--        pid_t pid_raw;
--        uint32_t pid_u32;
--        unsigned long long starttime_raw;
--        uint64_t starttime_u64;
-         DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant;
-         int r;
-         dbus_bool_t authorized = FALSE, challenge = FALSE;
-@@ -68,14 +64,6 @@ int verify_polkit(
- 
- #ifdef ENABLE_POLKIT
- 
--        pid_raw = bus_get_unix_process_id(c, sender, error);
--        if (pid_raw == 0)
--                return -EINVAL;
--
--        r = get_starttime_of_pid(pid_raw, &starttime_raw);
--        if (r < 0)
--                return r;
--
-         m = dbus_message_new_method_call(
-                         "org.freedesktop.PolicyKit1",
-                         "/org/freedesktop/PolicyKit1/Authority",
-@@ -86,22 +74,13 @@ int verify_polkit(
- 
-         dbus_message_iter_init_append(m, &iter_msg);
- 
--        pid_u32 = (uint32_t) pid_raw;
--        starttime_u64 = (uint64_t) starttime_raw;
--
-         if (!dbus_message_iter_open_container(&iter_msg, DBUS_TYPE_STRUCT, NULL, &iter_struct) ||
--            !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &unix_process) ||
-+            !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &system_bus_name) ||
-             !dbus_message_iter_open_container(&iter_struct, DBUS_TYPE_ARRAY, "{sv}", &iter_array) ||
-             !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) ||
--            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &pid) ||
--            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "u", &iter_variant) ||
--            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT32, &pid_u32) ||
--            !dbus_message_iter_close_container(&iter_dict, &iter_variant) ||
--            !dbus_message_iter_close_container(&iter_array, &iter_dict) ||
--            !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) ||
--            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &starttime) ||
--            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "t", &iter_variant) ||
--            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT64, &starttime_u64) ||
-+            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &name) ||
-+            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "s", &iter_variant) ||
-+            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_STRING, &sender) ||
-             !dbus_message_iter_close_container(&iter_dict, &iter_variant) ||
-             !dbus_message_iter_close_container(&iter_array, &iter_dict) ||
-             !dbus_message_iter_close_container(&iter_struct, &iter_array) ||
--- 
-1.8.3.4
-
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 3215032011a2..2c2ed582083f 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -16,18 +16,11 @@ stdenv.mkDerivation rec {
   };
 
   patches =
-    [ ./0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
-      ./0002-Ignore-duplicate-paths-in-systemctl-start.patch
-      ./0003-Start-device-units-for-uninitialised-encrypted-devic.patch
-      ./0004-Set-switch-to-configuration-hints-for-some-units.patch
-      ./0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
-      ./0006-Don-t-call-plymouth-quit.patch
-      ./0007-Ignore-IPv6-link-local-addresses.patch
-      ./0008-Don-t-try-to-unmount-nix-or-nix-store.patch
-      ./0009-Start-ctrl-alt-del.target-irreversibly.patch
-      ./0010-Fix-CPUShares-configuration-option.patch
-      ./0011-polkit-Avoid-race-condition-in-scraping-proc.patch
-    ] ++ stdenv.lib.optional stdenv.isArm ./libc-bug-accept4-arm.patch;
+    [ # These are all changes between upstream and
+      # https://github.com/edolstra/systemd/tree/nixos-v203.
+      ./fixes.patch
+    ]
+    ++ stdenv.lib.optional stdenv.isArm ./libc-bug-accept4-arm.patch;
 
   buildInputs =
     [ pkgconfig intltool gperf libcap dbus.libs kmod xz pam acl
diff --git a/pkgs/os-specific/linux/systemd/fix-tests-1.patch b/pkgs/os-specific/linux/systemd/fix-tests-1.patch
deleted file mode 100644
index 14bb0fa27081..000000000000
--- a/pkgs/os-specific/linux/systemd/fix-tests-1.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Signed-off-by: Ramkumar Ramachandra <artag...@gmail.com>
----
- Ramkumar Ramachandra wrote:
- > $ ./test-id128
- > random: a08ea8ed34594d4bbd953dd182ec86f9
- > Assertion 'sd_id128_get_machine(&id) == 0' failed at
- > src/test/test-id128.c:41, function main(). Aborting.
- > [1]    8017 abort (core dumped)  ./test-id128
- 
- Okay, this test fails because I don't have a /etc/machine-id -- I
- thought systemd is supposed to create it?  However, from the logic in
- src/core/machine-id-setup.c, it looks like although open() is called
- with O_CREAT on /etc/machine-id, systemd barfs if the file isn't
- present.  How about changing this?
-
- src/core/machine-id-setup.c |   12 +++++-------
- src/test/test-id128.c       |    6 ++++--
- 2 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
-index 7f4c23b..3f21d58 100644
---- a/src/core/machine-id-setup.c
-+++ b/src/core/machine-id-setup.c
-@@ -168,12 +168,8 @@ int machine_id_setup(void) {
-                 writable = true;
-         else {
-                 fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY);
--                if (fd < 0) {
--                        umask(m);
--                        log_error("Cannot open /etc/machine-id: %m");
--                        return -errno;
--                }
--
-+                if (fd < 0)
-+                        goto generate;
-                 writable = false;
-         }
- 
-@@ -192,7 +188,9 @@ int machine_id_setup(void) {
-                 }
-         }
- 
--        /* Hmm, so, the id currently stored is not useful, then let's
-+generate:
-+        /* Hmm, so, either /etc/machine-id doesn't exist, the id
-+         * currently stored is not useful, then let's
-          * generate one */
- 
-         r = generate(id);
-diff --git a/src/test/test-id128.c b/src/test/test-id128.c
-index bfd743e..60902d0 100644
---- a/src/test/test-id128.c
-+++ b/src/test/test-id128.c
-@@ -38,8 +38,10 @@ int main(int argc, char *argv[]) {
-         assert_se(sd_id128_from_string(t, &id2) == 0);
-         assert_se(sd_id128_equal(id, id2));
- 
--        assert_se(sd_id128_get_machine(&id) == 0);
--        printf("machine: %s\n", sd_id128_to_string(id, t));
-+        if (sd_id128_get_machine(&id) < 0)
-+                printf("machine: run systemd-machine-id-setup first\n");
-+        else
-+                printf("machine: %s\n", sd_id128_to_string(id, t));
- 
-         assert_se(sd_id128_get_boot(&id) == 0);
-         printf("boot: %s\n", sd_id128_to_string(id, t));
--- 
-1.7.8.1.362.g5d6df.dirty
diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch
new file mode 100644
index 000000000000..0ad420cd35cc
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/fixes.patch
@@ -0,0 +1,757 @@
+diff --git a/man/systemd.special.xml b/man/systemd.special.xml
+index 7164b1e..29401eb 100644
+--- a/man/systemd.special.xml
++++ b/man/systemd.special.xml
+@@ -381,7 +381,7 @@
+                                         this unit during
+                                         installation. This is best
+                                         configured via
+-                                        <varname>WantedBy=multi-uer.target</varname>
++                                        <varname>WantedBy=multi-user.target</varname>
+                                         in the unit's
+                                         <literal>[Install]</literal>
+                                         section.</para>
+diff --git a/rules/80-net-name-slot.rules b/rules/80-net-name-slot.rules
+index 15b5bc4..c5f1b38 100644
+--- a/rules/80-net-name-slot.rules
++++ b/rules/80-net-name-slot.rules
+@@ -1,6 +1,6 @@
+ # do not edit this file, it will be overwritten on update
+ 
+-ACTION=="remove", GOTO="net_name_slot_end"
++ACTION!="add", GOTO="net_name_slot_end"
+ SUBSYSTEM!="net", GOTO="net_name_slot_end"
+ NAME!="", GOTO="net_name_slot_end"
+ 
+diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
+index d17bdd9..040b10e 100644
+--- a/rules/99-systemd.rules.in
++++ b/rules/99-systemd.rules.in
+@@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd"
+ SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG+="systemd"
+ SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
+ 
+-# Ignore encrypted devices with no identified superblock on it, since
+-# we are probably still calling mke2fs or mkswap on it.
+-SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0"
+-
+ # 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"
+diff --git a/src/core/cgroup-semantics.c b/src/core/cgroup-semantics.c
+index 82b02bb..7df9d01 100644
+--- a/src/core/cgroup-semantics.c
++++ b/src/core/cgroup-semantics.c
+@@ -255,7 +255,7 @@ static int map_blkio(const CGroupSemantics *s, const char *value, char **ret) {
+ }
+ 
+ static const CGroupSemantics semantics[] = {
+-        { "cpu",     "cpu.shares",                 "CPUShare",              false, parse_cpu_shares,          NULL,       NULL },
++        { "cpu",     "cpu.shares",                 "CPUShares",             false, parse_cpu_shares,          NULL,       NULL },
+         { "memory",  "memory.soft_limit_in_bytes", "MemorySoftLimit",       false, parse_memory_limit,        NULL,       NULL },
+         { "memory",  "memory.limit_in_bytes",      "MemoryLimit",           false, parse_memory_limit,        NULL,       NULL },
+         { "devices", "devices.allow",              "DeviceAllow",           true,  parse_device,              map_device, NULL },
+diff --git a/src/core/dbus-execute.h b/src/core/dbus-execute.h
+index 91d70e5..698102f 100644
+--- a/src/core/dbus-execute.h
++++ b/src/core/dbus-execute.h
+@@ -63,7 +63,7 @@
+         "  <property name=\"CPUSchedulingPolicy\" type=\"i\" access=\"read\"/>\n" \
+         "  <property name=\"CPUSchedulingPriority\" type=\"i\" access=\"read\"/>\n" \
+         "  <property name=\"CPUAffinity\" type=\"ay\" access=\"read\"/>\n" \
+-        "  <property name=\"TimerSlackNS\" type=\"t\" access=\"read\"/>\n" \
++        "  <property name=\"TimerSlackNSec\" type=\"t\" access=\"read\"/>\n" \
+         "  <property name=\"CPUSchedulingResetOnFork\" type=\"b\" access=\"read\"/>\n" \
+         "  <property name=\"NonBlocking\" type=\"b\" access=\"read\"/>\n" \
+         "  <property name=\"StandardInput\" type=\"s\" access=\"read\"/>\n" \
+diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
+index 56b02a1..2b6d799 100644
+--- a/src/core/dbus-manager.c
++++ b/src/core/dbus-manager.c
+@@ -1550,7 +1550,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
+                 _cleanup_strv_free_ char **l = NULL;
+                 char **e = NULL;
+ 
+-                SELINUX_ACCESS_CHECK(connection, message, "reboot");
++                SELINUX_ACCESS_CHECK(connection, message, "reload");
+ 
+                 r = bus_parse_strv(message, &l);
+                 if (r == -ENOMEM)
+@@ -1577,7 +1577,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
+                 _cleanup_strv_free_ char **l = NULL;
+                 char **e = NULL;
+ 
+-                SELINUX_ACCESS_CHECK(connection, message, "reboot");
++                SELINUX_ACCESS_CHECK(connection, message, "reload");
+ 
+                 r = bus_parse_strv(message, &l);
+                 if (r == -ENOMEM)
+@@ -1605,7 +1605,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
+                 char **f = NULL;
+                 DBusMessageIter iter;
+ 
+-                SELINUX_ACCESS_CHECK(connection, message, "reboot");
++                SELINUX_ACCESS_CHECK(connection, message, "reload");
+ 
+                 if (!dbus_message_iter_init(message, &iter))
+                         goto oom;
+diff --git a/src/core/dbus-swap.c b/src/core/dbus-swap.c
+index 2e99fba..e72749a 100644
+--- a/src/core/dbus-swap.c
++++ b/src/core/dbus-swap.c
+@@ -93,6 +93,7 @@ static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_swap_append_swap_result, swap_result,
+ static const BusProperty bus_swap_properties[] = {
+         { "What",       bus_property_append_string, "s", offsetof(Swap, what),  true },
+         { "Priority",   bus_swap_append_priority,   "i", 0 },
++        { "TimeoutUSec",bus_property_append_usec,   "t", offsetof(Swap, timeout_usec)},
+         BUS_EXEC_COMMAND_PROPERTY("ExecActivate",   offsetof(Swap, exec_command[SWAP_EXEC_ACTIVATE]),   false),
+         BUS_EXEC_COMMAND_PROPERTY("ExecDeactivate", offsetof(Swap, exec_command[SWAP_EXEC_DEACTIVATE]), false),
+         { "ControlPID", bus_property_append_pid,    "u", offsetof(Swap, control_pid) },
+diff --git a/src/core/main.c b/src/core/main.c
+index 7fc06be..101ce79 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -1590,14 +1590,14 @@ int main(int argc, char *argv[]) {
+                         log_error("Failed to adjust timer slack: %m");
+ 
+         if (arg_capability_bounding_set_drop) {
+-                r = capability_bounding_set_drop(arg_capability_bounding_set_drop, true);
++                r = capability_bounding_set_drop_usermode(arg_capability_bounding_set_drop);
+                 if (r < 0) {
+-                        log_error("Failed to drop capability bounding set: %s", strerror(-r));
++                        log_error("Failed to drop capability bounding set of usermode helpers: %s", strerror(-r));
+                         goto finish;
+                 }
+-                r = capability_bounding_set_drop_usermode(arg_capability_bounding_set_drop);
++                r = capability_bounding_set_drop(arg_capability_bounding_set_drop, true);
+                 if (r < 0) {
+-                        log_error("Failed to drop capability bounding set of usermode helpers: %s", strerror(-r));
++                        log_error("Failed to drop capability bounding set: %s", strerror(-r));
+                         goto finish;
+                 }
+         }
+@@ -1650,6 +1650,7 @@ int main(int argc, char *argv[]) {
+         /* This will close all file descriptors that were opened, but
+          * not claimed by any unit. */
+         fdset_free(fds);
++        fds = NULL;
+ 
+         if (serialization) {
+                 fclose(serialization);
+@@ -1857,7 +1858,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";
+diff --git a/src/core/manager.c b/src/core/manager.c
+index c7f8f20..0508628 100644
+--- a/src/core/manager.c
++++ b/src/core/manager.c
+@@ -1372,7 +1372,7 @@ static int manager_process_signal_fd(Manager *m) {
+ 
+                 case SIGINT:
+                         if (m->running_as == SYSTEMD_SYSTEM) {
+-                                manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE);
++                                manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY);
+                                 break;
+                         }
+ 
+diff --git a/src/core/service.c b/src/core/service.c
+index 3617c24..4d0e2ad 100644
+--- a/src/core/service.c
++++ b/src/core/service.c
+@@ -2642,6 +2642,9 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) {
+         if (s->exec_context.var_tmp_dir)
+                 unit_serialize_item(u, f, "var-tmp-dir", s->exec_context.var_tmp_dir);
+ 
++        if (s->forbid_restart)
++                unit_serialize_item(u, f, "forbid-restart", yes_no(s->forbid_restart));
++
+         return 0;
+ }
+ 
+@@ -2776,6 +2779,14 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
+                         return log_oom();
+ 
+                 s->exec_context.var_tmp_dir = t;
++        } else if (streq(key, "forbid-restart")) {
++                int b;
++
++                b = parse_boolean(value);
++                if (b < 0)
++                        log_debug_unit(u->id, "Failed to parse forbid-restart value %s", value);
++                else
++                        s->forbid_restart = b;
+         } else
+                 log_debug_unit(u->id, "Unknown serialization key '%s'", key);
+ 
+diff --git a/src/core/snapshot.c b/src/core/snapshot.c
+index a63eccd..a6807eb 100644
+--- a/src/core/snapshot.c
++++ b/src/core/snapshot.c
+@@ -217,8 +217,10 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, DBusError *e, Sn
+                         if (asprintf(&n, "snapshot-%u.snapshot", ++ m->n_snapshots) < 0)
+                                 return -ENOMEM;
+ 
+-                        if (!manager_get_unit(m, n))
++                        if (!manager_get_unit(m, n)) {
++                                name = n;
+                                 break;
++                        }
+ 
+                         free(n);
+                 }
+diff --git a/src/core/umount.c b/src/core/umount.c
+index 1e95ad7..9f0e471 100644
+--- a/src/core/umount.c
++++ b/src/core/umount.c
+@@ -435,6 +435,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, "/")
++                    || path_equal(m->path, "/nix")
++                    || path_equal(m->path, "/nix/store")
+ #ifndef HAVE_SPLIT_USR
+                     || path_equal(m->path, "/usr")
+ #endif
+diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
+index 81b7708..edd0b40 100644
+--- a/src/cryptsetup/cryptsetup-generator.c
++++ b/src/cryptsetup/cryptsetup-generator.c
+@@ -111,6 +111,7 @@ static int create_disk(
+                 "Conflicts=umount.target\n"
+                 "DefaultDependencies=no\n"
+                 "BindsTo=dev-mapper-%i.device\n"
++                "IgnoreOnIsolate=true\n"
+                 "After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
+                 f);
+ 
+diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
+index c17299f..6b3e67e 100644
+--- a/src/fstab-generator/fstab-generator.c
++++ b/src/fstab-generator/fstab-generator.c
+@@ -351,7 +351,7 @@ static int add_mount(
+ 
+         if (automount && !path_equal(where, "/")) {
+                 automount_name = unit_name_from_path(where, ".automount");
+-                if (!name)
++                if (!automount_name)
+                         return log_oom();
+ 
+                 automount_unit = strjoin(arg_dest, "/", automount_name, NULL);
+@@ -596,9 +596,9 @@ static int parse_proc_cmdline(void) {
+                 } else if (startswith(word, "rd.fstab=")) {
+ 
+                         if (in_initrd()) {
+-                                r = parse_boolean(word + 6);
++                                r = parse_boolean(word + 9);
+                                 if (r < 0)
+-                                        log_warning("Failed to parse fstab switch %s. Ignoring.", word + 6);
++                                        log_warning("Failed to parse fstab switch %s. Ignoring.", word + 9);
+                                 else
+                                         arg_enabled = r;
+                         }
+diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
+index 38499a6..bb80905 100644
+--- a/src/journal/journal-file.c
++++ b/src/journal/journal-file.c
+@@ -907,6 +907,8 @@ static int journal_file_append_field(
+ 
+         osize = offsetof(Object, field.payload) + size;
+         r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p);
++        if (r < 0)
++                return r;
+ 
+         o->field.hash = htole64(hash);
+         memcpy(o->field.payload, field, size);
+diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
+index 88163c0..e09ba4c 100644
+--- a/src/journal/journald-server.c
++++ b/src/journal/journald-server.c
+@@ -333,8 +333,10 @@ void server_rotate(Server *s) {
+                 if (r < 0)
+                         if (f)
+                                 log_error("Failed to rotate %s: %s", f->path, strerror(-r));
+-                        else
++                        else {
+                                 log_error("Failed to create user journal: %s", strerror(-r));
++                                hashmap_remove(s->user_journals, k);
++                        }
+                 else {
+                         hashmap_replace(s->user_journals, k, f);
+                         server_fix_perms(s, f, PTR_TO_UINT32(k));
+@@ -975,7 +977,8 @@ int process_event(Server *s, struct epoll_event *ev) {
+                 ssize_t n;
+ 
+                 if (ev->events != EPOLLIN) {
+-                        log_error("Got invalid event from epoll.");
++                        log_error("Got invalid event from epoll for %s: %"PRIx32,
++                                  "signal fd", ev->events);
+                         return -EIO;
+                 }
+ 
+@@ -1024,8 +1027,12 @@ int process_event(Server *s, struct epoll_event *ev) {
+         } else if (ev->data.fd == s->dev_kmsg_fd) {
+                 int r;
+ 
+-                if (ev->events != EPOLLIN) {
+-                        log_error("Got invalid event from epoll.");
++                if (ev->events & EPOLLERR)
++                        log_warning("/dev/kmsg buffer overrun, some messages lost.");
++
++                if (!(ev->events & EPOLLIN)) {
++                        log_error("Got invalid event from epoll for %s: %"PRIx32,
++                                  "/dev/kmsg", ev->events);
+                         return -EIO;
+                 }
+ 
+@@ -1039,7 +1046,9 @@ int process_event(Server *s, struct epoll_event *ev) {
+                    ev->data.fd == s->syslog_fd) {
+ 
+                 if (ev->events != EPOLLIN) {
+-                        log_error("Got invalid event from epoll.");
++                        log_error("Got invalid event from epoll for %s: %"PRIx32,
++                                  ev->data.fd == s->native_fd ? "native fd" : "syslog fd",
++                                  ev->events);
+                         return -EIO;
+                 }
+ 
+@@ -1140,12 +1149,7 @@ int process_event(Server *s, struct epoll_event *ev) {
+                                 char *e;
+ 
+                                 if (n > 0 && n_fds == 0) {
+-                                        e = memchr(s->buffer, '\n', n);
+-                                        if (e)
+-                                                *e = 0;
+-                                        else
+-                                                s->buffer[n] = 0;
+-
++                                        s->buffer[n] = 0;
+                                         server_process_syslog_message(s, strstrip(s->buffer), ucred, tv, label, label_len);
+                                 } else if (n_fds > 0)
+                                         log_warning("Got file descriptors via syslog socket. Ignoring.");
+@@ -1167,7 +1171,8 @@ int process_event(Server *s, struct epoll_event *ev) {
+         } else if (ev->data.fd == s->stdout_fd) {
+ 
+                 if (ev->events != EPOLLIN) {
+-                        log_error("Got invalid event from epoll.");
++                        log_error("Got invalid event from epoll for %s: %"PRIx32,
++                                  "stdout fd", ev->events);
+                         return -EIO;
+                 }
+ 
+@@ -1178,6 +1183,8 @@ int process_event(Server *s, struct epoll_event *ev) {
+                 StdoutStream *stream;
+ 
+                 if ((ev->events|EPOLLIN|EPOLLHUP) != (EPOLLIN|EPOLLHUP)) {
++                        log_error("Got invalid event from epoll for %s: %"PRIx32,
++                                  "stdout stream", ev->events);
+                         log_error("Got invalid event from epoll.");
+                         return -EIO;
+                 }
+diff --git a/src/journal/mmap-cache.c b/src/journal/mmap-cache.c
+index 54bf114..bd197d0 100644
+--- a/src/journal/mmap-cache.c
++++ b/src/journal/mmap-cache.c
+@@ -308,9 +308,13 @@ static void mmap_cache_free(MMapCache *m) {
+         while ((c = hashmap_first(m->contexts)))
+                 context_free(c);
+ 
++        hashmap_free(m->contexts);
++
+         while ((f = hashmap_first(m->fds)))
+                 fd_free(f);
+ 
++        hashmap_free(m->fds);
++
+         while (m->unused)
+                 window_free(m->unused);
+ 
+diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c
+index 0e66f3d..cac948e 100644
+--- a/src/libsystemd-bus/bus-internal.c
++++ b/src/libsystemd-bus/bus-internal.c
+@@ -63,7 +63,7 @@ bool object_path_is_valid(const char *p) {
+ 
+ bool interface_name_is_valid(const char *p) {
+         const char *q;
+-        bool dot, found_dot;
++        bool dot, found_dot = false;
+ 
+         if (isempty(p))
+                 return false;
+@@ -103,7 +103,7 @@ bool interface_name_is_valid(const char *p) {
+ 
+ bool service_name_is_valid(const char *p) {
+         const char *q;
+-        bool dot, found_dot, unique;
++        bool dot, found_dot = false, unique;
+ 
+         if (isempty(p))
+                 return false;
+diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c
+index 7d6d848..b0eb2f1 100644
+--- a/src/libsystemd-bus/sd-bus.c
++++ b/src/libsystemd-bus/sd-bus.c
+@@ -1088,11 +1088,11 @@ static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) {
+                 if (r == 0)
+                         return ret;
+ 
+-                r = 1;
++                ret = 1;
+         } while (!z);
+ 
+         *m = z;
+-        return 1;
++        return ret;
+ }
+ 
+ int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) {
+diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c
+index 5ccaabd..100c1fb 100644
+--- a/src/libudev/libudev-enumerate.c
++++ b/src/libudev/libudev-enumerate.c
+@@ -299,7 +299,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume
+                         /* skip to be delayed devices, and move the to
+                          * the point where the prefix changes. We can
+                          * only move one item at a time. */
+-                        if (!move_later) {
++                        if (move_later == -1) {
+                                 move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath);
+ 
+                                 if (move_later_prefix > 0) {
+@@ -718,6 +718,8 @@ static bool match_subsystem(struct udev_enumerate *udev_enumerate, const char *s
+ {
+         struct udev_list_entry *list_entry;
+ 
++        subsystem = subsystem ? : "";
++
+         udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_enumerate->subsystem_nomatch_list)) {
+                 if (fnmatch(udev_list_entry_get_name(list_entry), subsystem, 0) == 0)
+                         return false;
+@@ -826,23 +828,27 @@ nomatch:
+ static int parent_add_child(struct udev_enumerate *enumerate, const char *path)
+ {
+         struct udev_device *dev;
++        int r = 0;
+ 
+         dev = udev_device_new_from_syspath(enumerate->udev, path);
+         if (dev == NULL)
+                 return -ENODEV;
+ 
+         if (!match_subsystem(enumerate, udev_device_get_subsystem(dev)))
+-                return 0;
++                goto nomatch;
+         if (!match_sysname(enumerate, udev_device_get_sysname(dev)))
+-                return 0;
++                goto nomatch;
+         if (!match_property(enumerate, dev))
+-                return 0;
++                goto nomatch;
+         if (!match_sysattr(enumerate, dev))
+-                return 0;
++                goto nomatch;
+ 
+         syspath_add(enumerate, udev_device_get_syspath(dev));
++        r = 1;
++
++nomatch:
+         udev_device_unref(dev);
+-        return 1;
++        return r;
+ }
+ 
+ static int parent_crawl_children(struct udev_enumerate *enumerate, const char *path, int maxdepth)
+diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym
+index 8e09430..1e6f885 100644
+--- a/src/libudev/libudev.sym
++++ b/src/libudev/libudev.sym
+@@ -109,5 +109,6 @@ global:
+ } LIBUDEV_189;
+ 
+ LIBUDEV_199 {
++global:
+         udev_device_set_sysattr_value;
+ } LIBUDEV_196;
+diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c
+index 7b19ee0..49ee420 100644
+--- a/src/modules-load/modules-load.c
++++ b/src/modules-load/modules-load.c
+@@ -302,8 +302,8 @@ int main(int argc, char *argv[]) {
+ 
+                 STRV_FOREACH(i, arg_proc_cmdline_modules) {
+                         k = load_module(ctx, *i);
+-                        if (k < 0)
+-                                r = EXIT_FAILURE;
++                        if (k < 0 && r == 0)
++                                r = k;
+                 }
+ 
+                 r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
+diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
+index b1ef912..4f2ab5c 100644
+--- a/src/nss-myhostname/netlink.c
++++ b/src/nss-myhostname/netlink.c
+@@ -113,6 +113,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/shared/efivars.c b/src/shared/efivars.c
+index 8d004ba..99340c9 100644
+--- a/src/shared/efivars.c
++++ b/src/shared/efivars.c
+@@ -383,7 +383,8 @@ int efi_get_boot_options(uint16_t **options) {
+                 list[count ++] = id;
+         }
+ 
+-        qsort(list, count, sizeof(uint16_t), cmp_uint16);
++        if (list)
++                qsort(list, count, sizeof(uint16_t), cmp_uint16);
+ 
+         *options = list;
+         return count;
+diff --git a/src/shared/env-util.c b/src/shared/env-util.c
+index 6a52fb9..598222c 100644
+--- a/src/shared/env-util.c
++++ b/src/shared/env-util.c
+@@ -406,7 +406,9 @@ char **strv_env_clean_log(char **e, const char *message) {
+                 e[k++] = *p;
+         }
+ 
+-        e[k] = NULL;
++        if (e)
++                e[k] = NULL;
++
+         return e;
+ }
+ 
+diff --git a/src/shared/log.c b/src/shared/log.c
+index 27317f7..8f4995a 100644
+--- a/src/shared/log.c
++++ b/src/shared/log.c
+@@ -115,16 +115,20 @@ void log_close_syslog(void) {
+ 
+ static int create_log_socket(int type) {
+         int fd;
++        struct timeval tv;
+ 
+-        /* All output to the syslog/journal fds we do asynchronously,
+-         * and if the buffers are full we just drop the messages */
+-
+-        fd = socket(AF_UNIX, type|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
++        fd = socket(AF_UNIX, type|SOCK_CLOEXEC, 0);
+         if (fd < 0)
+                 return -errno;
+ 
+         fd_inc_sndbuf(fd, SNDBUF_SIZE);
+ 
++        /* We need a blocking fd here since we'd otherwise lose
++        messages way too early. However, let's not hang forever in the
++        unlikely case of a deadlock. */
++        timeval_store(&tv, 1*USEC_PER_MINUTE);
++        setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
++
+         return fd;
+ }
+ 
+diff --git a/src/shared/polkit.c b/src/shared/polkit.c
+index cea7074..1c5e9e3 100644
+--- a/src/shared/polkit.c
++++ b/src/shared/polkit.c
+@@ -38,12 +38,8 @@ int verify_polkit(
+ 
+ #ifdef ENABLE_POLKIT
+         DBusMessage *m = NULL, *reply = NULL;
+-        const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = "";
++        const char *system_bus_name = "system-bus-name", *name = "name", *cancel_id = "";
+         uint32_t flags = interactive ? 1 : 0;
+-        pid_t pid_raw;
+-        uint32_t pid_u32;
+-        unsigned long long starttime_raw;
+-        uint64_t starttime_u64;
+         DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant;
+         int r;
+         dbus_bool_t authorized = FALSE, challenge = FALSE;
+@@ -68,14 +64,6 @@ int verify_polkit(
+ 
+ #ifdef ENABLE_POLKIT
+ 
+-        pid_raw = bus_get_unix_process_id(c, sender, error);
+-        if (pid_raw == 0)
+-                return -EINVAL;
+-
+-        r = get_starttime_of_pid(pid_raw, &starttime_raw);
+-        if (r < 0)
+-                return r;
+-
+         m = dbus_message_new_method_call(
+                         "org.freedesktop.PolicyKit1",
+                         "/org/freedesktop/PolicyKit1/Authority",
+@@ -86,22 +74,13 @@ int verify_polkit(
+ 
+         dbus_message_iter_init_append(m, &iter_msg);
+ 
+-        pid_u32 = (uint32_t) pid_raw;
+-        starttime_u64 = (uint64_t) starttime_raw;
+-
+         if (!dbus_message_iter_open_container(&iter_msg, DBUS_TYPE_STRUCT, NULL, &iter_struct) ||
+-            !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &unix_process) ||
++            !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &system_bus_name) ||
+             !dbus_message_iter_open_container(&iter_struct, DBUS_TYPE_ARRAY, "{sv}", &iter_array) ||
+             !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) ||
+-            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &pid) ||
+-            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "u", &iter_variant) ||
+-            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT32, &pid_u32) ||
+-            !dbus_message_iter_close_container(&iter_dict, &iter_variant) ||
+-            !dbus_message_iter_close_container(&iter_array, &iter_dict) ||
+-            !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) ||
+-            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &starttime) ||
+-            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "t", &iter_variant) ||
+-            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT64, &starttime_u64) ||
++            !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &name) ||
++            !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "s", &iter_variant) ||
++            !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_STRING, &sender) ||
+             !dbus_message_iter_close_container(&iter_dict, &iter_variant) ||
+             !dbus_message_iter_close_container(&iter_array, &iter_dict) ||
+             !dbus_message_iter_close_container(&iter_struct, &iter_array) ||
+diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
+index 3cca861..f6052dd 100644
+--- a/src/systemctl/systemctl.c
++++ b/src/systemctl/systemctl.c
+@@ -1482,7 +1482,7 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
+ 
+         } else if (dbus_message_is_signal(message, "org.freedesktop.systemd1.Manager", "JobRemoved")) {
+                 uint32_t id;
+-                const char *path, *result, *unit;
++                const char *path, *result, *unit, *r;
+ 
+                 if (dbus_message_get_args(message, &error,
+                                           DBUS_TYPE_UINT32, &id,
+@@ -1491,7 +1491,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
+                                           DBUS_TYPE_STRING, &result,
+                                           DBUS_TYPE_INVALID)) {
+ 
+-                        free(set_remove(d->set, (char*) path));
++                        r = set_remove(d->set, (char*) path);
++                        if (!r)
++                                return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
++
++                        free(r);
+ 
+                         if (!isempty(result))
+                                 d->result = strdup(result);
+@@ -1511,7 +1515,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
+                         /* Compatibility with older systemd versions <
+                          * 183 during upgrades. This should be dropped
+                          * one day. */
+-                        free(set_remove(d->set, (char*) path));
++                        r = set_remove(d->set, (char*) path);
++                        if (!r)
++                                return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
++
++                        free(r);
+ 
+                         if (*result)
+                                 d->result = strdup(result);
+@@ -1867,7 +1875,7 @@ static int start_unit_one(
+                         return log_oom();
+ 
+                 r = set_consume(s, p);
+-                if (r < 0) {
++                if (r < 0 && r != -EEXIST) {
+                         log_error("Failed to add path to set.");
+                         return r;
+                 }
+diff --git a/units/emergency.service.in b/units/emergency.service.in
+index 442f0e0..6b7eafd 100644
+--- a/units/emergency.service.in
++++ b/units/emergency.service.in
+@@ -15,7 +15,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
+diff --git a/units/local-fs.target b/units/local-fs.target
+index 18c3d74..a09054c 100644
+--- a/units/local-fs.target
++++ b/units/local-fs.target
+@@ -11,3 +11,5 @@ Documentation=man:systemd.special(7)
+ After=local-fs-pre.target
+ OnFailure=emergency.target
+ OnFailureIsolate=no
++
++X-StopOnReconfiguration=yes
+diff --git a/units/remote-fs.target b/units/remote-fs.target
+index 09213e8..47b4cf5 100644
+--- a/units/remote-fs.target
++++ b/units/remote-fs.target
+@@ -10,5 +10,7 @@ Description=Remote File Systems
+ Documentation=man:systemd.special(7)
+ After=remote-fs-pre.target
+ 
++X-StopOnReconfiguration=yes
++
+ [Install]
+ WantedBy=multi-user.target
+diff --git a/units/rescue.service.m4.in b/units/rescue.service.m4.in
+index 269797a..2c640f4 100644
+--- a/units/rescue.service.m4.in
++++ b/units/rescue.service.m4.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
+diff --git a/units/sysinit.target b/units/sysinit.target
+index 8f4fb8f..e0f0147 100644
+--- a/units/sysinit.target
++++ b/units/sysinit.target
+@@ -9,6 +9,5 @@
+ 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-journald.service.in b/units/systemd-journald.service.in
+index ab2e50c..9563a7d 100644
+--- a/units/systemd-journald.service.in
++++ b/units/systemd-journald.service.in
+@@ -24,3 +24,8 @@ CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG C
+ # Increase the default a bit in order to allow many simultaneous
+ # services being run since we keep one fd open per service.
+ LimitNOFILE=16384
++
++# Don't restart journald, since that causes services connected to
++# journald to stop logging (see
++# https://bugs.freedesktop.org/show_bug.cgi?id=56043).
++X-RestartIfChanged=no
+diff --git a/units/systemd-user-sessions.service.in b/units/systemd-user-sessions.service.in
+index 0869e73..b6ed958 100644
+--- a/units/systemd-user-sessions.service.in
++++ b/units/systemd-user-sessions.service.in
+@@ -15,3 +15,6 @@ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=@rootlibexecdir@/systemd-user-sessions start
+ ExecStop=@rootlibexecdir@/systemd-user-sessions stop
++
++# Restart kills all active sessions.
++X-RestartIfChanged=no
diff --git a/pkgs/os-specific/linux/systemd/no-global-install.patch b/pkgs/os-specific/linux/systemd/no-global-install.patch
deleted file mode 100644
index 6567251d57a1..000000000000
--- a/pkgs/os-specific/linux/systemd/no-global-install.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 05bf582..aa16a7c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2568,11 +2568,6 @@ endif
- # "adm" and "wheel".
- libsystemd-journal-install-hook:
- 	libname=libsystemd-journal.so && $(move-to-rootlibdir)
--	$(MKDIR_P) $(DESTDIR)/var/log/journal
--	-chown 0:0 $(DESTDIR)/var/log/journal
--	-chmod 755 $(DESTDIR)/var/log/journal
--	-setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
--	-setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
- 
- libsystemd-journal-uninstall-hook:
- 	rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
-@@ -3676,9 +3671,6 @@ if HAVE_SYSV_COMPAT
- sysvinit_DATA = \
- 	docs/sysvinit/README
- 
--varlog_DATA = \
--	docs/var-log/README
--
- docs/sysvinit/README: docs/sysvinit/README.in
- 	$(SED_PROCESS)
- 
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index b7d139a534f0..aff730e387a5 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -4,8 +4,8 @@ let
 
   # Obtained from http://www.linux-usb.org/usb.ids.bz2.
   usbids = fetchurl {
-    url = http://tarballs.nixos.org/usb.ids.20120920.bz2;
-    sha256 = "0sz860g7grf6kx22p49s6j8h85c69ymcw16a8110klzfl9hl9hli";
+    url = http://tarballs.nixos.org/usb.ids.20130821.bz2;
+    sha256 = "0x7mf4h5h5wjzhygfr4lc8yz0cwm7mahxrnp5nkxcmawmyxwsg53";
   };
 
 in
@@ -20,8 +20,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig libusb1 ];
 
-  # currently up-to-date
-  #preBuild = "bunzip2 < ${usbids} > usb.ids";
+  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
+    '';
 
   meta = {
     homepage = http://www.linux-usb.org/;
diff --git a/pkgs/os-specific/linux/x86info/default.nix b/pkgs/os-specific/linux/x86info/default.nix
index 297991ff4d95..6cd2a431a605 100644
--- a/pkgs/os-specific/linux/x86info/default.nix
+++ b/pkgs/os-specific/linux/x86info/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "An identification utility for the x86 series of processors.";
+    description = "Identification utility for the x86 series of processors";
     longDescription =
     ''
       x86info will identify all Intel/AMD/Centaur/Cyrix/VIA CPUs. It leverages
diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix
index 877be1d74b8a..4ccb1b069c93 100644
--- a/pkgs/servers/apcupsd/default.nix
+++ b/pkgs/servers/apcupsd/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A daemon for controlling APC UPSes";
+    description = "Daemon for controlling APC UPSes";
     homepage = http://www.apcupsd.com/;
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix
index ca3f5333b30e..88837f9bb427 100644
--- a/pkgs/servers/computing/storm/default.nix
+++ b/pkgs/servers/computing/storm/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://storm-project.net";
-    description = "Storm, free and open source distributed realtime computation system.";
+    description = "Distributed realtime computation system";
     license = "Eclipse Public License 1.0";
     maintainers = [ lib.maintainers.vizanto ];
   };
diff --git a/pkgs/servers/http/apache-modules/mod_evasive/default.nix b/pkgs/servers/http/apache-modules/mod_evasive/default.nix
index d796d0a6dc5e..129f44ab502f 100644
--- a/pkgs/servers/http/apache-modules/mod_evasive/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_evasive/default.nix
@@ -23,8 +23,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.zdziarski.com/blog/?page_id=442";
-    description = "mod_evasive is an evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack.";
-
+    description = "Evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack";
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 083dbc482f0a..8e77d07e5c59 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://nginx.org/download/${name}.tar.gz";
-    sha256 = "06ficmjiya3m8mdlyq3bgqx604h475n77qc5c502kfjijzld39dw";
+    sha256 = "116yfy0k65mwxdkld0w7c3gly77jdqlvga5hpbsw79i3r62kh4mf";
   };
 
   buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat;
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     description = "A reverse proxy and lightweight webserver";
     maintainers = [ stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.all;
-    version = "1.4.1";
+    version = "1.4.3";
   };
 }
diff --git a/pkgs/servers/icecast/default.nix b/pkgs/servers/icecast/default.nix
index 24ae245a8a07..8b940fdb0cfc 100644
--- a/pkgs/servers/icecast/default.nix
+++ b/pkgs/servers/icecast/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libxml2 libxslt curl libvorbis libtheora speex libkate ];
 
   meta = {
-    description = "icecast is free server software for streaming multimedia.";
+    description = "Server software for streaming multimedia";
 
     longDescription = ''
       Icecast is a streaming media server which currently supports Ogg Vorbis and MP3
diff --git a/pkgs/servers/mail/dovecot-pigeonhole/default.nix b/pkgs/servers/mail/dovecot-pigeonhole/default.nix
index c4204113ae0f..5c0f39ca135f 100644
--- a/pkgs/servers/mail/dovecot-pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot-pigeonhole/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://pigeonhole.dovecot.org/;
-    description = "A sieve plugin for the Dovecot IMAP server.";
+    description = "A sieve plugin for the Dovecot IMAP server";
     license = licenses.lgpl21;
     maintainers = [ maintainers.rickynils ];
   };  
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index 14a4e8bd5a58..8752f54647f0 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -31,6 +31,14 @@ in
 
     inherit src preConfigure;
 
+    patchFlags = "-p0";
+    patches =
+      [ (fetchurl {
+          url = "https://support.zabbix.com/secure/attachment/24449/ZBX-7091-2.0.8.patch";
+          sha256 = "1rlk3812dd12imk29i0fw6bzpgi44a8231kiq3bl5yryx18qh580";
+        })
+      ];
+
     configureFlags = [
       "--enable-agent"
       "--enable-server"
diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix
index 6ee4712ae657..b106921cdf69 100644
--- a/pkgs/servers/monitoring/zabbix/default.nix
+++ b/pkgs/servers/monitoring/zabbix/default.nix
@@ -2,11 +2,11 @@
 
 let
 
-  version = "1.8.17";
+  version = "1.8.18rc1";
 
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
-    sha256 = "0c2dpx7ncahp161p6zymrrxwyn3algkfzh6dz7x2j0wsnvb6lrp2";
+    sha256 = "1pa4656dcl5r7r36nwk05zy38z49np6j717wjmmd8sqlz6szw01n";
   };
 
   preConfigure =
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 43da84dcb819..238176aadff9 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
   };
 
   buildInputs = [ pkgconfig glib ]
-    ++ opt (!stdenv.isDarwin) systemd
-    ++ opt (!stdenv.isDarwin && alsaSupport) alsaLib
+    ++ opt stdenv.isLinux systemd
+    ++ opt (stdenv.isLinux && alsaSupport) alsaLib
     ++ opt flacSupport flac
     ++ opt vorbisSupport libvorbis
     # using libmad to decode mp3 files on darwin is causing a segfault -- there
@@ -81,7 +81,7 @@ in stdenv.mkDerivation rec {
       (mkFlag mpg123Support "mpg123")
       (mkFlag aacSupport "aac")
       "--enable-debugging" ]
-    ++ opt (!stdenv.isDarwin)
+    ++ opt stdenv.isLinux
       "--with-systemdsystemunitdir=$(out)/etc/systemd/system";
 
   NIX_LDFLAGS = ''
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 629dcb5bbce8..4b23cb4173c6 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   # Since `libpulse*.la' contain `-lgdbm' and `-lcap', it must be propagated.
   propagatedBuildInputs
-    = [ gdbm ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libcap ];
+    = [ gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
 
   buildInputs =
     [ pkgconfig gnum4 libtool intltool glib dbus avahi libsamplerate libsndfile
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional jackaudioSupport jackaudio
     ++ stdenv.lib.optionals x11Support [ xlibs.xlibs xlibs.libXtst xlibs.libXi ]
     ++ stdenv.lib.optional useSystemd systemd
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ alsaLib bluez sbc udev ];
+    ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib bluez sbc udev ];
 
   preConfigure = ''
     # Move the udev rules under $(prefix).
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 599f6ee31f3e..ace96fbed637 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation {
   builder = ./builder.sh;
   
   meta = {
-    description = "Usenet NZB downloader, par2 repairer and auto extracting server.";
+    description = "Usenet NZB downloader, par2 repairer and auto extracting server";
   };
 }
diff --git a/pkgs/servers/sql/mysql51/default.nix b/pkgs/servers/sql/mysql/5.1.x.nix
index b0f125faef7a..c210c9965327 100644
--- a/pkgs/servers/sql/mysql51/default.nix
+++ b/pkgs/servers/sql/mysql/5.1.x.nix
@@ -3,11 +3,11 @@
 # Note: zlib is not required; MySQL can use an internal zlib.
 
 stdenv.mkDerivation rec {
-  name = "mysql-5.1.69";
+  name = "mysql-5.1.72";
 
   src = fetchurl {
     url = "http://cdn.mysql.com/Downloads/MySQL-5.1/${name}.tar.gz";
-    md5 = "06bbb6a11a2cbe042f80dbd333ff9f12";
+    md5 = "ed79cd48e3e7402143548917813cdb80";
   };
 
   buildInputs = [ncurses zlib perl openssl] ++ stdenv.lib.optional stdenv.isLinux ps;
diff --git a/pkgs/servers/sql/mysql55/default.nix b/pkgs/servers/sql/mysql/5.5.x.nix
index 898acc1ba493..bd30b7db75ff 100644
--- a/pkgs/servers/sql/mysql55/default.nix
+++ b/pkgs/servers/sql/mysql/5.5.x.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.5.31";
+  version = "5.5.34";
 
   src = fetchurl {
     url = "http://cdn.mysql.com/Downloads/MySQL-5.5/${name}.tar.gz";
-    md5 = "bf402cbd52a9af33e5c25b2a4bbc56db";
+    md5 = "930970a42d51e48599deb7fe01778a4a";
   };
 
   buildInputs = [ cmake bison ncurses openssl readline zlib ]
diff --git a/pkgs/servers/sql/mysql51/abi_check.patch b/pkgs/servers/sql/mysql/abi_check.patch
index e9f9cfdc9d95..e9f9cfdc9d95 100644
--- a/pkgs/servers/sql/mysql51/abi_check.patch
+++ b/pkgs/servers/sql/mysql/abi_check.patch
diff --git a/pkgs/servers/sql/mysql/default.nix b/pkgs/servers/sql/mysql/default.nix
deleted file mode 100644
index 3a13aa323a19..000000000000
--- a/pkgs/servers/sql/mysql/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, ps, ncurses, zlib ? null, perl}:
-
-# Note: zlib is not required; MySQL can use an internal zlib.
-
-stdenv.mkDerivation {
-  name = "mysql-4.1.18";
-
-  src = fetchurl {
-    url = http://downloads.mysql.com/archives/mysql-4.1/mysql-4.1.18.tar.gz;
-    md5 = "a2db4edb3e1e3b8e0f8c2242225ea513";
-  };
-
-  buildInputs = [ps ncurses zlib perl];
-
-  configureFlags = "--enable-thread-safe-client";
-}
diff --git a/pkgs/servers/sql/mysql5/default.nix b/pkgs/servers/sql/mysql5/default.nix
deleted file mode 100644
index 908ae3fc70c6..000000000000
--- a/pkgs/servers/sql/mysql5/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{stdenv, fetchurl, ps, ncurses, zlib, perl, openssl}:
-
-# Note: zlib is not required; MySQL can use an internal zlib.
-
-stdenv.mkDerivation {
-  name = "mysql-5.0.77";
-
-  src = fetchurl {
-    url = http://downloads.mysql.com/archives/mysql-5.0/mysql-5.0.77.tar.gz;
-    sha256 = "1s0m991aynim8ny28cfwhjw0ly8j5d72xi00461w6yc2hlaijcd9";
-  };
-
-  buildInputs = [ps ncurses zlib perl openssl];
-  
-  configureFlags = "--enable-thread-safe-client --with-openssl=${openssl} --with-berkeley-db --with-embedded-server" +
-    (if stdenv.system == "x86_64-linux" then " --with-lib-ccflags=-fPIC" else "");
-
-  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";
-
-  postInstall =
-    ''
-      ln -s mysqld_safe $out/bin/mysqld
-      rm -rf $out/mysql-test $out/sql-bench $out/share/info
-    '';
-
-  meta = {
-    homepage = http://www.mysql.com/;
-    description = "The world's most popular open source database";
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index c8597def61e9..a99d7536a8a2 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.4.17"; in
+let version = "8.4.18"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0dh4rn4q2amqjwmjjiya99bz1ph3lx45j5brnpwdjd9mxhs4r26w";
+    sha256 = "c08e5e93dac9d484019a07ff91db9f224350b90ef4be1543e33282cc20daf872";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index ea25cf0d476c..3810eeba72c5 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.0.13"; in
+let version = "9.0.14"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0xwrmwrx0pm21w3ifrqcmb8k2sa46w491ff3gqqfxynyk78a9bji";
+    sha256 = "de42b669cb891fc9b925406e71d1669ed5c856aae6d552ac6f14bf6dec0b79f1";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
index b9436cb4b083..65a969b4db0e 100644
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ b/pkgs/servers/sql/postgresql/9.1.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.1.9"; in
+let version = "9.1.10"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1n1dc1kqc487dylc22iq1j8sn93jxbqm2g4b5rr0i4q0h7hk7998";
+    sha256 = "8329bcd160fcb76ee8c79676f6c979a94069ca5c108449fbb365e1ea98f92b77";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix
index 46a6aa0c032c..46b7e7ff3c57 100644
--- a/pkgs/servers/sql/postgresql/9.2.x.nix
+++ b/pkgs/servers/sql/postgresql/9.2.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.2.4"; in
+let version = "9.2.5"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "14xfzw3hb2fn60c438v3j7wa65jjm2pnmx4qb4i4ji4am0cdjzfr";
+    sha256 = "22c1edfd6a404bb15fba655863e94f09a10716ded1910a8bc98ee85f413007a4";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 528c03e3aa38..8d0f3b306f26 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pcre libxslt groff ncurses pkgconfig ];
 
   meta = {
-    description = "Varnish Cache is a web application accelerator also known as a caching HTTP reverse proxy.";
+    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 ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 099283afedd6..c8e20f1f0b99 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -198,7 +198,11 @@ in
       "--with-default-font-path= "  # there were only paths containing "${prefix}",
                                     # and there are no fonts in this package anyway
     ];
-    patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch];
+    patches =
+      [ ./xorgserver-dri-path.patch
+        ./xorgserver-xkbcomp-path.patch
+        ./xorgserver-cve-2013-4396.patch
+      ];
     buildInputs = attrs.buildInputs ++ [ xtrans ];
     propagatedBuildInputs =
       [ args.zlib args.udev args.mesa args.dbus.libs
diff --git a/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch b/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch
new file mode 100644
index 000000000000..4b6727e61c05
--- /dev/null
+++ b/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch
@@ -0,0 +1,75 @@
+From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Mon, 16 Sep 2013 21:47:16 -0700
+Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText()
+ [CVE-2013-4396]
+
+Save a pointer to the passed in closure structure before copying it
+and overwriting the *c pointer to point to our copy instead of the
+original.  If we hit an error, once we free(c), reset c to point to
+the original structure before jumping to the cleanup code that
+references *c.
+
+Since one of the errors being checked for is whether the server was
+able to malloc(c->nChars * itemSize), the client can potentially pass
+a number of characters chosen to cause the malloc to fail and the
+error path to be taken, resulting in the read from freed memory.
+
+Since the memory is accessed almost immediately afterwards, and the
+X server is mostly single threaded, the odds of the free memory having
+invalid contents are low with most malloc implementations when not using
+memory debugging features, but some allocators will definitely overwrite
+the memory there, leading to a likely crash.
+
+Reported-by: Pedro Ribeiro <pedrib@gmail.com>
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+Reviewed-by: Julien Cristau <jcristau@debian.org>
+---
+ dix/dixfonts.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/dix/dixfonts.c b/dix/dixfonts.c
+index feb765d..2e34d37 100644
+--- a/dix/dixfonts.c
++++ b/dix/dixfonts.c
+@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+             GC *pGC;
+             unsigned char *data;
+             ITclosurePtr new_closure;
++            ITclosurePtr old_closure;
+ 
+             /* We're putting the client to sleep.  We need to
+                save some state.  Similar problem to that handled
+@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c)
+                 err = BadAlloc;
+                 goto bail;
+             }
++            old_closure = c;
+             *new_closure = *c;
+             c = new_closure;
+ 
+             data = malloc(c->nChars * itemSize);
+             if (!data) {
+                 free(c);
++                c = old_closure;
+                 err = BadAlloc;
+                 goto bail;
+             }
+@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+             if (!pGC) {
+                 free(c->data);
+                 free(c);
++                c = old_closure;
+                 err = BadAlloc;
+                 goto bail;
+             }
+@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+                 FreeScratchGC(pGC);
+                 free(c->data);
+                 free(c);
++                c = old_closure;
+                 err = BadAlloc;
+                 goto bail;
+             }
+-- 
+1.7.9.2
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index fe17af44c2c4..3ae6f4bde4c0 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -14,7 +14,7 @@ else
 
 let
 
-  lib = import ../../lib;
+  lib = import ../../../lib;
 
   allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1";
 
diff --git a/pkgs/tools/X11/autocutsel/default.nix b/pkgs/tools/X11/autocutsel/default.nix
index f4776933e53d..bc7679b1670e 100644
--- a/pkgs/tools/X11/autocutsel/default.nix
+++ b/pkgs/tools/X11/autocutsel/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.nongnu.org/autocutsel/";
-    description = "Autocutsel tracks changes in the server's cutbuffer and CLIPBOARD selection.";
+    description = "Tracks changes in the server's cutbuffer and CLIPBOARD selection";
     license = "GPLv2+";
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/tools/X11/bgs/default.nix b/pkgs/tools/X11/bgs/default.nix
index a3fff2bc50b0..0c6951aa3e76 100644
--- a/pkgs/tools/X11/bgs/default.nix
+++ b/pkgs/tools/X11/bgs/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'';
 
   meta = { 
-      description = "bgs is an extremely fast and small background setter for X.";
+      description = "Extremely fast and small background setter for X";
       license = "MIT";
       platforms = with stdenv.lib.platforms; all;
       maintainers = with stdenv.lib.maintainers; [pSub]; 
diff --git a/pkgs/tools/X11/keynav/default.nix b/pkgs/tools/X11/keynav/default.nix
index 19de62990e2c..02b6321d18c8 100644
--- a/pkgs/tools/X11/keynav/default.nix
+++ b/pkgs/tools/X11/keynav/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
-    description = "A tool to generate X11 mouse clicks from keyboard.";
+    description = "Generate X11 mouse clicks from keyboard";
   };
 }
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
index b53db509dafe..bd160940b573 100644
--- a/pkgs/tools/X11/winswitch/default.nix
+++ b/pkgs/tools/X11/winswitch/default.nix
@@ -38,6 +38,8 @@ let
     '';
 
     doCheck = false;
+
+    meta.platforms = stdenv.lib.platforms.mesaPlatforms;
   };
 in stdenv.lib.overrideDerivation base (b: {
   postFixup = b.postFixup + ''
diff --git a/pkgs/tools/X11/x2x/default.nix b/pkgs/tools/X11/x2x/default.nix
index 5d68e1da1ba9..237ea6140599 100644
--- a/pkgs/tools/X11/x2x/default.nix
+++ b/pkgs/tools/X11/x2x/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "x2x allows the keyboard, mouse on one X display to be used to control another X display.";
+    description = "Allows the keyboard, mouse on one X display to be used to control another X display";
     homepage = http://x2x.dottedmag.net;
     license = "BSD";
   };
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 71c5d5f3a44e..b8995430f92a 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -40,5 +40,6 @@ buildPythonPackage rec {
   meta = {
     homepage = http://xpra.org/;
     description = "Persistent remote applications for X";
+    platforms = stdenv.lib.platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/tools/admin/analog/default.nix b/pkgs/tools/admin/analog/default.nix
index debd6e4c2b77..ec139e7240d3 100644
--- a/pkgs/tools/admin/analog/default.nix
+++ b/pkgs/tools/admin/analog/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.analog.cx/";
     license = "GPL";
-    description = "a powerful tool to generate web server statistics";
+    description = "Powerful tool to generate web server statistics";
     maintainers = [ stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix
index ecdf40be0a5a..c02a16d821ac 100644
--- a/pkgs/tools/backup/httrack/default.nix
+++ b/pkgs/tools/backup/httrack/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://www.httrack.com";
-    description = "HTTrack is a free (GPL, libre/free software) and easy-to-use offline browser utility.";
+    description = "Easy-to-use offline browser utility";
     license = "GPL";
   };
 }
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 69927e015827..6d550e95a9df 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -18,7 +18,7 @@ pythonPackages.buildPythonPackage rec {
 
   meta = {
     homepage = http://liw.fi/obnam/;
-    description = "A backup program supporting deduplication, compression and encryption.";
+    description = "Backup program supporting deduplication, compression and encryption";
     maintainers = [ stdenv.lib.maintainers.rickynils ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/backup/rsnapshot/default.nix b/pkgs/tools/backup/rsnapshot/default.nix
index 3da2fad21f29..9b147d68230f 100644
--- a/pkgs/tools/backup/rsnapshot/default.nix
+++ b/pkgs/tools/backup/rsnapshot/default.nix
@@ -1,10 +1,25 @@
-{fetchurl, stdenv, perl, openssh, rsync, logger}:
+{ fetchurl, 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.3.0";
+  name = "rsnapshot-1.3.1";
   src = fetchurl {
     url = "mirror://sourceforge/rsnapshot/${name}.tar.gz";
-    sha256 = "19p35ycm73a8vd4ccjpah18h5jagvcr11rqca6ya87sg8k0a5h9z";
+    sha256 = "0pn7vlg3yxl7xrvfwmp4zlrg3cckmlldq6qr5bs3b2b281zcgdll";
   };
 
   propagatedBuildInputs = [perl openssh rsync logger];
@@ -12,6 +27,7 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     substituteInPlace "Makefile.in" --replace \
       "/usr/bin/pod2man" "${perl}/bin/pod2man"
+    patch -p0 <${patch}
   '';
 
   meta = {
diff --git a/pkgs/tools/compression/gzrt/default.nix b/pkgs/tools/compression/gzrt/default.nix
new file mode 100644
index 000000000000..44073f84a5d8
--- /dev/null
+++ b/pkgs/tools/compression/gzrt/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "gzrt-0.8";
+
+  src = fetchurl {
+    url = "http://www.urbanophile.com/arenn/coding/gzrt/${name}.tar.gz";
+    sha256 = "1vhzazj47xfpbfhzkwalz27cc0n5gazddmj3kynhk0yxv99xrdxh";
+  };
+
+  buildInputs = [ zlib ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp gzrecover $out/bin
+  '';
+
+  meta = {
+    homepage = http://www.urbanophile.com/arenn/hacking/gzrt/;
+    description = "The gzip Recovery Toolkit";
+    license = stdenv.lib.licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/filesystems/archivemount/default.nix b/pkgs/tools/filesystems/archivemount/default.nix
index c05d2e98af32..8c7593121bbe 100644
--- a/pkgs/tools/filesystems/archivemount/default.nix
+++ b/pkgs/tools/filesystems/archivemount/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ pkgconfig fuse libarchive ];
 
   meta = {
-    description = "Gateway between FUSE and libarchive: allows mounting of cpio, .tar.gz, .tar.bz2 archives.";
+    description = "Gateway between FUSE and libarchive: allows mounting of cpio, .tar.gz, .tar.bz2 archives";
     license = "GPL2";
 
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/filesystems/nixpart/default.nix b/pkgs/tools/filesystems/nixpart/default.nix
index 2cd40bb08675..633f04320c37 100644
--- a/pkgs/tools/filesystems/nixpart/default.nix
+++ b/pkgs/tools/filesystems/nixpart/default.nix
@@ -24,5 +24,6 @@ in buildPythonPackage rec {
     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/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index 934a27ef25b7..d9eed4df224a 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://www.argyllcms.com;
-    description = "An ICC compatible color management system";
+    description = "Color management system (compatible with ICC)";
     license = licenses.gpl3;
     maintainers = [ maintainers.rickynils ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index e32a3901a92b..e9f61228bedb 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -11,11 +11,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asymptote";
-    version="2.21";
-    name="asymptote-2.21";
-    hash="07lkj0xnxpanfscmbm30lw6j9484rlmmqpnl0mhs7nx9h2lczrjz";
-    url="mirror://sourceforge/project/asymptote/2.21/asymptote-2.21.src.tgz";
-    sha256="07lkj0xnxpanfscmbm30lw6j9484rlmmqpnl0mhs7nx9h2lczrjz";
+    version="2.24";
+    name="asymptote-2.24";
+    hash="0iypv3n89h8mx46b0c3msl0ldmg7fxf8v9fl4zy4sxfszazrvivl";
+    url="mirror://sourceforge/project/asymptote/2.24/asymptote-2.24.src.tgz";
+    sha256="0iypv3n89h8mx46b0c3msl0ldmg7fxf8v9fl4zy4sxfszazrvivl";
   };
   buildInputs = with a; [
     freeglut ghostscriptX imagemagick fftw boehmgc
diff --git a/pkgs/tools/graphics/dmtx/default.nix b/pkgs/tools/graphics/dmtx/default.nix
index 29c6b5ebf795..74b1a2bf4edf 100644
--- a/pkgs/tools/graphics/dmtx/default.nix
+++ b/pkgs/tools/graphics/dmtx/default.nix
@@ -24,7 +24,7 @@ rec {
       
   name = "dmtx-" + version;
   meta = {
-    description = "DataMatrix (2D bar code) processing tools.";
+    description = "DataMatrix (2D bar code) processing tools";
     maintainers = [args.lib.maintainers.raskin];
     platforms = args.lib.platforms.linux;
   };
diff --git a/pkgs/tools/misc/autojump/default.nix b/pkgs/tools/misc/autojump/default.nix
index 5371ac55adba..a92b4ae3b1bb 100644
--- a/pkgs/tools/misc/autojump/default.nix
+++ b/pkgs/tools/misc/autojump/default.nix
@@ -29,7 +29,7 @@ in
     '';
 
     meta = {
-      description = "Autojump, a `cd' command that learns";
+      description = "A `cd' command that learns";
       longDescription = ''
         One of the most used shell commands is “cd”.  A quick survey
         among my friends revealed that between 10 and 20% of all
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
new file mode 100644
index 000000000000..2c7505260a69
--- /dev/null
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -0,0 +1,40 @@
+{ fetchgit
+, stdenv
+, enableXRandr ? true, xrandr ? null
+, enableDisper ? false, disper ? null
+, xdpyinfo }:
+
+assert enableXRandr -> xrandr != null;
+assert enableDisper -> disper != null;
+
+let
+  rev = "4f5e2401ef";
+in
+  stdenv.mkDerivation {
+    name = "autorandr-${rev}";
+
+    src = fetchgit {
+      inherit rev;
+      url = "https://github.com/wertarbyte/autorandr.git";
+    };
+
+    patchPhase = ''
+      substituteInPlace "autorandr" \
+        --replace "/usr/bin/xrandr" "${if enableXRandr then xrandr else "/nowhere"}/bin/xrandr" \
+        --replace "/usr/bin/disper" "${if enableDisper then disper else "/nowhere"}/bin/disper" \
+        --replace "/usr/bin/xdpyinfo" "${xdpyinfo}/bin/xdpyinfo"
+    '';
+
+    installPhase = ''
+      mkdir -p "$out/etc/bash_completion.d"
+      cp -v bash_completion/autorandr "$out/etc/bash_completion.d"
+      mkdir -p "$out/bin"
+      cp -v autorandr auto-disper $out/bin
+    '';
+
+    meta = {
+      description = "Automatic display configuration selector based on connected devices";
+      homepage = https://github.com/wertarbyte/autorandr;
+      maintainer = [ stdenv.lib.maintainers.coroa ];
+    };
+  }
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 6766e0bb474f..03b3719c9f0a 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = https://launchpad.net/byobu/;
-    description = "Byobu is a GPLv3 open source text-based window manager and terminal multiplexer.";
+    description = "Text-based window manager and terminal multiplexer";
 
     longDescription =
       ''Byobu is a GPLv3 open source text-based window manager and terminal multiplexer. 
diff --git a/pkgs/tools/misc/detox/default.nix b/pkgs/tools/misc/detox/default.nix
index ade13382033c..435115ffc596 100644
--- a/pkgs/tools/misc/detox/default.nix
+++ b/pkgs/tools/misc/detox/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   buildInputs = [flex];
 
   meta = {
-    description = "Detox is a utility designed to clean up filenames.";
+    description = "Utility designed to clean up filenames";
     longDescription = ''
       Detox is a utility designed to clean up filenames. It replaces
       difficult to work with characters, such as spaces, with standard
diff --git a/pkgs/tools/misc/disper/default.nix b/pkgs/tools/misc/disper/default.nix
index cc11427f65aa..b4a159745d46 100644
--- a/pkgs/tools/misc/disper/default.nix
+++ b/pkgs/tools/misc/disper/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "Disper is an on-the-fly display switch utility.";
+    description = "On-the-fly display switch utility";
     homepage = http://willem.engen.nl/projects/disper/;
   };
 
diff --git a/pkgs/tools/misc/fdupes/default.nix b/pkgs/tools/misc/fdupes/default.nix
index 2de9efdac58a..14e6a2f6681f 100644
--- a/pkgs/tools/misc/fdupes/default.nix
+++ b/pkgs/tools/misc/fdupes/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   makeFlags = "PREFIX=\${out}";
 
   meta = {
-    description = "identifies duplicate files residing within specified directories.";
+    description = "Identifies duplicate files residing within specified directories";
     longDescription = ''
       FDUPES uses md5sums and then a byte by byte comparison to finde duplicate
       files within a set of directories.
diff --git a/pkgs/tools/misc/gnuvd/default.nix b/pkgs/tools/misc/gnuvd/default.nix
index 6436a14047ab..122694af4567 100644
--- a/pkgs/tools/misc/gnuvd/default.nix
+++ b/pkgs/tools/misc/gnuvd/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "gnuvd is a command-line dutch dictionary application.";
+    description = "Command-line dutch dictionary application";
     homepage = http://www.djcbsoftware.nl/code/gnuvd/;
   };
 }
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index ea54ab4a543d..cd3ea6eda6f0 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Yet another colouriser for beautifying your logfiles or output of commands.";
+    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 ];
diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix
index abbd8f20fd08..6cb528cca1dd 100644
--- a/pkgs/tools/misc/gsmartcontrol/default.nix
+++ b/pkgs/tools/misc/gsmartcontrol/default.nix
@@ -14,7 +14,16 @@ stdenv.mkDerivation rec {
   #installTargets = "install datainstall";
 
   meta = {
-    description = "GSmartControl is a graphical user interface for smartctl (from smartmontools package), which is a tool for querying and controlling SMART (Self-Monitoring, Analysis, and Reporting Technology) data on modern hard disk drives.";
+    description = "Hard disk drive health inspection tool";
+    longDescription = ''
+      GSmartControl is a graphical user interface for smartctl (from
+      smartmontools package), which is a tool for querying and controlling
+      SMART (Self-Monitoring, Analysis, and Reporting Technology) data on
+      modern hard disk drives.
+
+      It allows you to inspect the drive's SMART data to determine its health,
+      as well as run various tests on it.
+    '';
     homepage = http://gsmartcontrol.berlios.de;
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [qknight];
diff --git a/pkgs/tools/misc/gummiboot/default.nix b/pkgs/tools/misc/gummiboot/default.nix
index cf2fe713461f..1098e9d09207 100644
--- a/pkgs/tools/misc/gummiboot/default.nix
+++ b/pkgs/tools/misc/gummiboot/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, gnu_efi, unzip, pkgconfig, utillinux, libxslt, docbook_xsl, docbook_xml_dtd_42 }:
+{ stdenv, fetchurl, gnu-efi, unzip, pkgconfig, utillinux, libxslt, docbook_xsl, docbook_xml_dtd_42 }:
 
 stdenv.mkDerivation rec {
-  name = "gummiboot-23";
+  name = "gummiboot-38";
 
-  buildInputs = [ unzip pkgconfig utillinux libxslt docbook_xsl docbook_xml_dtd_42 ];
+  buildInputs = [ gnu-efi pkgconfig libxslt utillinux ];
 
-  patches = [ ./no-usr.patch ];
-
-  buildFlags = [ "GNU_EFI=${gnu_efi}" ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
+  # Sigh, gummiboot should be able to find this in buildInputs
+  configureFlags = [
+    "--with-efi-includedir=${gnu-efi}/include"
+    "--with-efi-libdir=${gnu-efi}/lib"
+    "--with-efi-ldsdir=${gnu-efi}/lib"
+  ];
 
   src = fetchurl {
-    url = "http://cgit.freedesktop.org/gummiboot/snapshot/${name}.zip";
-    sha256 = "1lmfk4k52ha00ppna5g7h51vhd27i9fipf5k7mc2d9jkm2480z4j";
+    url = http://pkgs.fedoraproject.org/repo/pkgs/gummiboot/gummiboot-38.tar.xz/0504791387e1998bf2075728c237f27e/gummiboot-38.tar.xz;
+    sha256 = "1aid2a29ym8dqldxpcihnrls7vrr9ijbla3dad0r8qwkca43d4lm";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/gummiboot/no-usr.patch b/pkgs/tools/misc/gummiboot/no-usr.patch
deleted file mode 100644
index db9068947407..000000000000
--- a/pkgs/tools/misc/gummiboot/no-usr.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur gummiboot-23-orig/Makefile gummiboot-23/Makefile
---- gummiboot-23-orig/Makefile	2013-02-20 00:55:44.000000000 -0500
-+++ gummiboot-23/Makefile	2013-02-21 12:00:35.783637645 -0500
-@@ -10,7 +10,8 @@
- export E Q
- 
- ARCH=$(shell $(CC) -dumpmachine | sed "s/\(-\).*$$//")
--LIBDIR=$(shell echo $$(cd /usr/lib/$$(gcc -print-multi-os-directory); pwd))
-+PREFIX=/usr
-+LIBDIR=$(GNU_EFI)/lib
- LIBEFIDIR=$(or $(wildcard $(LIBDIR)/gnuefi), $(LIBDIR))
- 
- ifeq ($(ARCH),i686)
-@@ -25,13 +26,13 @@
- 		-mno-red-zone
- endif
- 
--all: gummiboot$(MACHINE_TYPE_NAME).efi gummiboot
-+all: gummiboot$(MACHINE_TYPE_NAME).efi gummiboot man
- 
- # ------------------------------------------------------------------------------
- CPPFLAGS = \
- 	-I. \
--	-I/usr/include/efi \
--	-I/usr/include/efi/$(ARCH)
-+	-I$(GNU_EFI)/include/efi \
-+	-I$(GNU_EFI)/include/efi/$(ARCH)
- 
- CFLAGS = \
- 	-DVERSION=$(VERSION) \
-@@ -82,6 +83,7 @@
- 	  `pkg-config --cflags --libs blkid` \
- 	  src/setup/setup.c \
- 	  src/setup/efivars.c \
-+	  -DPREFIX=\"$(PREFIX)\" \
- 	  -o $@
- 
- # ------------------------------------------------------------------------------
-@@ -101,11 +103,11 @@
- 	rm -f src/efi/gummiboot.o src/efi/gummiboot.so gummiboot gummiboot$(MACHINE_TYPE_NAME).efi
- 
- install: all
--	mkdir -p $(DESTDIR)/usr/bin/
--	cp gummiboot $(DESTDIR)/usr/bin
--	mkdir -p $(DESTDIR)/usr/lib/gummiboot/
--	cp gummiboot$(MACHINE_TYPE_NAME).efi $(DESTDIR)/usr/lib/gummiboot/
--	[ -e gummiboot.1 ] && mkdir -p $(DESTDIR)/usr/share/man/man1/ && cp gummiboot.1 $(DESTDIR)/usr/share/man/man1/ || :
-+	mkdir -p $(DESTDIR)$(PREFIX)/bin/
-+	cp gummiboot $(DESTDIR)$(PREFIX)/bin
-+	mkdir -p $(DESTDIR)$(PREFIX)/lib/gummiboot/
-+	cp gummiboot$(MACHINE_TYPE_NAME).efi $(DESTDIR)$(PREFIX)/lib/gummiboot/
-+	[ -e gummiboot.1 ] && mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1/ && cp gummiboot.1 $(DESTDIR)$(PREFIX)/share/man/man1/ || :
- 
- tar:
- 	git archive --format=tar --prefix=gummiboot-$(VERSION)/ $(VERSION) | xz > gummiboot-$(VERSION).tar.xz
-diff -Naur gummiboot-23-orig/src/setup/setup.c gummiboot-23/src/setup/setup.c
---- gummiboot-23-orig/src/setup/setup.c	2013-02-20 00:55:44.000000000 -0500
-+++ gummiboot-23/src/setup/setup.c	2013-02-21 11:57:43.295324700 -0500
-@@ -736,7 +736,7 @@
-         char *p = NULL, *q = NULL, *v = NULL;
-         int r;
- 
--        if (asprintf(&p, "/usr/lib/gummiboot/%s", name) < 0) {
-+        if (asprintf(&p, PREFIX "/lib/gummiboot/%s", name) < 0) {
-                 fprintf(stderr, "Out of memory.\n");
-                 r = -ENOMEM;
-                 goto finish;
-@@ -791,9 +791,9 @@
-                         return r;
-         }
- 
--        d = opendir("/usr/lib/gummiboot");
-+        d = opendir(PREFIX "/lib/gummiboot");
-         if (!d) {
--                fprintf(stderr, "Failed to open /usr/lib/gummiboot: %m\n");
-+                fprintf(stderr, "Failed to open " PREFIX "/lib/gummiboot: %m\n");
-                 return -errno;
-         }
- 
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 0aacf744b1ab..01820aaf7780 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -13,9 +13,9 @@ stdenv.mkDerivation {
   patches = [./bin-mv.patch];
   
   meta = {
-    description = "HDF5 is a data model, library, and file format for storing and managing data.";
+    description = "Data model, library, and file format for storing and managing data";
     longDescription = ''
-      It supports an unlimited variety of datatypes, and is designed for flexible and efficient 
+      HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient
       I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing 
       applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and 
       applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
diff --git a/pkgs/tools/misc/mcrypt/default.nix b/pkgs/tools/misc/mcrypt/default.nix
index 7701f0e20590..761b2c5bdbfb 100644
--- a/pkgs/tools/misc/mcrypt/default.nix
+++ b/pkgs/tools/misc/mcrypt/default.nix
@@ -12,7 +12,12 @@ stdenv.mkDerivation rec {
   buildInputs = [libmcrypt libmhash];
  
   meta = {
-    description = "mcrypt, and the accompanying libmcrypt, are intended to be replacements for the old Unix crypt, except that they are under the GPL and support an ever-wider range of algorithms and modes.";
+    description = "Replacement for old UNIX crypt(1)";
+    longDescription = ''
+      mcrypt, and the accompanying libmcrypt, are intended to be replacements
+      for the old Unix crypt, except that they are under the GPL and support an
+      ever-wider range of algorithms and modes.
+    '';
     homepage = http://mcrypt.sourceforge.net;
     license = "GPLv2";
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 2d3a67db8c55..47b96023ce0f 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
 
   meta = {
-    description = "An ncurses disk usage analyzer.";
+    description = "Ncurses disk usage analyzer";
     homepage = http://dev.yorhel.nl/ncdu;
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
new file mode 100644
index 000000000000..10886e969a2c
--- /dev/null
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, jre, graphviz }:
+
+stdenv.mkDerivation rec {
+  version = "7982";
+  name = "plantuml-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/plantuml/plantuml.${version}.jar";
+    sha256 = "0hxs0whjgx36j5azdcna40rw2c7smhg0qm3kzld9vx88m0c51dgl";
+  };
+
+  # It's only a .jar file and a shell wrapper
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/lib"
+
+    cp "$src" "$out/lib/plantuml.jar"
+
+    cat > "$out/bin/plantuml" << EOF
+    #!${stdenv.shell}
+    export GRAPHVIZ_DOT="${graphviz}/bin/dot"
+    exec "${jre}/bin/java" -jar "$out/lib/plantuml.jar" "\$@"
+    EOF
+    chmod a+x "$out/bin/plantuml"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Draw UML diagrams using a simple and human readable text description";
+    homepage = http://plantuml.sourceforge.net/;
+    # "java -jar plantuml.jar -license" says GPLv3 or later
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.bjornfor ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/ponysay/default.nix b/pkgs/tools/misc/ponysay/default.nix
index 17be93dda8f7..1da0d70a14fa 100644
--- a/pkgs/tools/misc/ponysay/default.nix
+++ b/pkgs/tools/misc/ponysay/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "cowsay reimplemention for ponies.";
+    description = "Cowsay reimplemention for ponies";
     homepage = http://terse.tk/ponysay/;
     license = "GPLv3";
     maintainers = with stdenv.lib.maintainers; [ bodil ];
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index 444408fec41d..bf0c44de1419 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl } :
 
 stdenv.mkDerivation rec {
-  name = "pv-1.3.4";
+  name = "pv-1.4.12";
 
   src = fetchurl {
     url = "http://www.ivarch.com/programs/sources/${name}.tar.bz2";
-    sha256 = "114b730pghgg4gv9d798817n3am88p2b0xgdavch1vhklzh33c16";
+    sha256 = "0hnpv4l5kidfwxzba7ibm9wjs71ing9gzx0m80bgr3ia8k4s8nka";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/refind/default.nix b/pkgs/tools/misc/refind/default.nix
index 1fbb177afa06..6f4e031e4419 100644
--- a/pkgs/tools/misc/refind/default.nix
+++ b/pkgs/tools/misc/refind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gnu_efi, unzip }:
+{ stdenv, fetchurl, gnu-efi, unzip }:
 
 let version = "0.4.5"; in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ unzip ];
 
-  buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" "LOCAL_CFLAGS=-I${gnu_efi}/include" ];
+  buildFlags = [ "prefix=" "EFIINC=${gnu-efi}/include/efi" "GNUEFILIB=${gnu-efi}/lib" "EFILIB=${gnu-efi}/lib" "EFICRT0=${gnu-efi}/lib" "LOCAL_CFLAGS=-I${gnu-efi}/include" ];
 
   installPhase = ''
     mkdir -pv $out
diff --git a/pkgs/tools/misc/ttmkfdir/default.nix b/pkgs/tools/misc/ttmkfdir/default.nix
index 3f05d600944b..12adb5318a89 100644
--- a/pkgs/tools/misc/ttmkfdir/default.nix
+++ b/pkgs/tools/misc/ttmkfdir/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
   buildInputs = [freetype fontconfig libunwind libtool flex bison];
 
   meta = {
-    description = "Create fonts.dir for TTF font directory.";
+    description = "Create fonts.dir for TTF font directory";
   };
 }
diff --git a/pkgs/tools/misc/unclutter/default.nix b/pkgs/tools/misc/unclutter/default.nix
index b267074e77fa..542530532de0 100644
--- a/pkgs/tools/misc/unclutter/default.nix
+++ b/pkgs/tools/misc/unclutter/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    description = "Hides mouse pointer while not in use.";
+    description = "Hides mouse pointer while not in use";
     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
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index d4cd07aa4c6f..c609d2275dad 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -8,6 +8,6 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "Unit conversion tool.";
+    description = "Unit conversion tool";
   };
 }
diff --git a/pkgs/tools/misc/venus/default.nix b/pkgs/tools/misc/venus/default.nix
index b4f9732dec6c..b7f2be179c47 100644
--- a/pkgs/tools/misc/venus/default.nix
+++ b/pkgs/tools/misc/venus/default.nix
@@ -41,7 +41,12 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Planet Venus is an awesome ‘river of news’ feed reader. It downloads news feeds published by web sites and aggregates their content together into a single combined feed, latest news first.";
+    description = "News feed reader";
+    longDescription = ''
+      Planet Venus is an awesome ‘river of news’ feed reader. It downloads news
+      feeds published by web sites and aggregates their content together into a
+      single combined feed, latest news first.
+    '';
     homepage = "http://intertwingly.net/code/venus/docs/index.html";
     license = stdenv.lib.licenses.psfl;
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/networking/aria/default.nix b/pkgs/tools/networking/aria/default.nix
index 4f58463ecf93..f6432f8aa225 100644
--- a/pkgs/tools/networking/aria/default.nix
+++ b/pkgs/tools/networking/aria/default.nix
@@ -16,6 +16,6 @@ rec {
       
   name = "aria-" + version;
   meta = {
-    description = "aria - multiprotocol DL manager";
+    description = "Multiprotocol download manager";
   };
 }
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index 0ee018509402..8a6d63d164c0 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -8,6 +8,6 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "A console downloading program. Has some features for parallel connections for faster downloading.";
+    description = "Console downloading program with some features for parallel connections for faster downloading";
   };
 }
diff --git a/pkgs/tools/networking/bwm-ng/default.nix b/pkgs/tools/networking/bwm-ng/default.nix
index 88460d86730c..4d18c4adb373 100644
--- a/pkgs/tools/networking/bwm-ng/default.nix
+++ b/pkgs/tools/networking/bwm-ng/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
 
   meta = with stdenv.lib; {
-    description = "Bandwidth Monitor NG is a small and simple console-based live network and disk io bandwidth monitor.";
+    description = "Bandwidth Monitor NG is a small and simple console-based live network and disk io bandwidth monitor";
     homepage = "http://www.gropp.org/?id=projects&sub=bwm-ng";
     license = licenses.gpl2;
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index d7fe07570574..d15559961f6b 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ readline ] ++ stdenv.lib.optional stdenv.isLinux libcap;
 
   meta = with stdenv.lib; {
-    description = "A pair of programs which are used to maintain the accuracy of the system clock on a computer.";
+    description = "Sets your computer's clock from time servers on the Net";
     homepage = "http://chrony.tuxfamily.org/";
     license = licenses.gpl2;
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/connect/default.nix b/pkgs/tools/networking/connect/default.nix
index 67f2b63c2928..c6291efad312 100644
--- a/pkgs/tools/networking/connect/default.nix
+++ b/pkgs/tools/networking/connect/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "make network connection via SOCKS and https proxy.";
+    description = "Make network connection via SOCKS and https proxy";
     longDescription = ''
       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. 
diff --git a/pkgs/tools/networking/filegive/default.nix b/pkgs/tools/networking/filegive/default.nix
index 275c49679800..443feee2ea03 100644
--- a/pkgs/tools/networking/filegive/default.nix
+++ b/pkgs/tools/networking/filegive/default.nix
@@ -11,7 +11,7 @@ let
     sha256 = "1swwfyzaj3l40yh9np3x4fcracgs79nwryc85sxbdakx8wwxs2xb";
   };
 
-  version = "0.7";
+  version = "0.7.1";
 
 in
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "http://viric.name/cgi-bin/filegive/tarball/${name}.tar.gz?uuid=v${version}";
     name = "${name}.tar.gz";
-    sha256 = "0wj6vjfqfzqb75ii0djczdbcwilr05ahil5sqm65kimv11hc4j9n";
+    sha256 = "14yyif6q89ihn28kliszaf19vywjg9f7192q1ak8823da1svbq8a";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index c51c8f59ff76..4bda944c68a5 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -10,6 +10,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://fping.org/";
-    description = "A program to send ICMP echo probes to network hosts.";
+    description = "Send ICMP echo probes to network hosts";
   };
 }
diff --git a/pkgs/tools/networking/gmvault/default.nix b/pkgs/tools/networking/gmvault/default.nix
index 8ab939481915..e78dfa5b2cae 100644
--- a/pkgs/tools/networking/gmvault/default.nix
+++ b/pkgs/tools/networking/gmvault/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   '';
 
   meta = {
-    description = "Gmvault Gmail Backup - Backup and restore your gmail account at will.";
+    description = "Backup and restore your gmail account";
     homepage = "http://gmvault.org";
     license = pkgs.lib.licenses.agpl3Plus;
   };
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index d44c9f831f34..3946f1eef0fa 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -17,7 +17,15 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.";
+    description = "Reliable, high performance TCP/HTTP load balancer";
+    longDescription = ''
+      HAProxy is a free, very fast and reliable solution offering high
+      availability, load balancing, and proxying for TCP and HTTP-based
+      applications. It is particularly suited for web sites crawling under very
+      high loads while needing persistence or Layer7 processing. Supporting
+      tens of thousands of connections is clearly realistic with todays
+      hardware.
+    '';
     homepage = http://haproxy.1wt.eu;
     maintainers = [ stdenv.lib.maintainers.garbas ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index f9562f7eff60..2708210af805 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -17,7 +17,15 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://mosh.mit.edu/;
-    description = "Remote terminal application that allows roaming, local echo, etc.";
+    description = "Mobile shell (ssh replacement)";
+    longDescription = ''
+      Remote terminal application that allows roaming, supports intermittent
+      connectivity, and provides intelligent local echo and line editing of
+      user keystrokes.
+
+      Mosh is a replacement for SSH. It's more robust and responsive,
+      especially over Wi-Fi, cellular, and long-distance links.
+    '';
     license = "GPLv3+";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index 6b316321afde..e42dfee7cae2 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     description = "A collection of utilties for indexing and searching Maildirs";
     license = "GPLv3+";
     homepage = "http://www.djcbsoftware.nl/code/mu/";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.mesaPlatforms;
     maintainers = with stdenv.lib.maintainers; [ antono the-kenny ];
   };
 }
diff --git a/pkgs/tools/networking/netrw/default.nix b/pkgs/tools/networking/netrw/default.nix
index 23ff6ddba55a..77ef6e0ad306 100644
--- a/pkgs/tools/networking/netrw/default.nix
+++ b/pkgs/tools/networking/netrw/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "A simple tool for transporting data over the network.";
+    description = "Simple tool for transporting data over the network";
     license = stdenv.lib.licenses.gpl2;
     homepage = "http://mamuti.net/netrw/index.en.html";
   };
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index adc1cd7481b8..25494d75f0dc 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -59,6 +59,9 @@ 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"'
+
+      # As NixOS doesn't seem to handle systemd Aliases, we just rename the dispatcher service file
+      mv $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
     '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/nylon/default.nix b/pkgs/tools/networking/nylon/default.nix
index 3d1563f9520d..9050423cfafb 100644
--- a/pkgs/tools/networking/nylon/default.nix
+++ b/pkgs/tools/networking/nylon/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://monkey.org/~marius/nylon;
-    description = "Proxy server, supporting SOCKS 4 and 5, as well as a mirror mode.";
+    description = "Proxy server, supporting SOCKS 4 and 5, as well as a mirror mode";
     license = "free";
   };
 }
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index a5b46ebbc3c6..fa1d2fb805a7 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   ];
 
   meta = {
-    description = "OfflineImap synchronizes emails between two repositories, so that you can read the same mailbox from multiple computers.";
+    description = "Synchronize emails between two repositories, so that you can read the same mailbox from multiple computers";
     homepage = "http://offlineimap.org";
     license = pkgs.lib.licenses.gpl2Plus;
     maintainers = [ pkgs.lib.maintainers.garbas ];
diff --git a/pkgs/tools/networking/p2p/amule/default.nix b/pkgs/tools/networking/p2p/amule/default.nix
index 4864611f670a..c92fcecc9fcd 100644
--- a/pkgs/tools/networking/p2p/amule/default.nix
+++ b/pkgs/tools/networking/p2p/amule/default.nix
@@ -48,7 +48,7 @@ mkDerivation rec {
 
   meta = {
     homepage = http://amule.org/;
-    description = "aMule, a peer-to-peer client for the eD2K and Kademlia networks";
+    description = "Peer-to-peer client for the eD2K and Kademlia networks";
 
     longDescription = ''
       aMule is an eMule-like client for the eD2k and Kademlia
diff --git a/pkgs/tools/networking/p2p/bit-tornado/default.nix b/pkgs/tools/networking/p2p/bit-tornado/default.nix
index 14e13a17559f..92458b3d1459 100644
--- a/pkgs/tools/networking/p2p/bit-tornado/default.nix
+++ b/pkgs/tools/networking/p2p/bit-tornado/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "Bittorrent client with IPv6 support.";
+    description = "Bittorrent client with IPv6 support";
   };
 }
diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix
index ec0b7c6f60b7..80fc075107c1 100644
--- a/pkgs/tools/networking/pdsh/default.nix
+++ b/pkgs/tools/networking/pdsh/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://code.google.com/p/pdsh/";
-    description = "A high-performance, parallel remote shell utility.";
+    description = "High-performance, parallel remote shell utility";
     license = "GPLv2";
 
     longDescription = ''
diff --git a/pkgs/tools/networking/proxychains/default.nix b/pkgs/tools/networking/proxychains/default.nix
index e2eeb73fc649..6778cf94907e 100644
--- a/pkgs/tools/networking/proxychains/default.nix
+++ b/pkgs/tools/networking/proxychains/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "Proxifier for SOCKS proxies.";
+    description = "Proxifier for SOCKS proxies";
     homepage = http://proxychains.sourceforge.net;
     license = "GPLv2+";
   };
diff --git a/pkgs/tools/networking/trickle/default.nix b/pkgs/tools/networking/trickle/default.nix
index 646108525d3c..254dc168ec8c 100644
--- a/pkgs/tools/networking/trickle/default.nix
+++ b/pkgs/tools/networking/trickle/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   configureFlags = "--with-libevent";
 
   meta = {
-    description = "Trickle, a portable lightweight userspace bandwidth shaper.";
+    description = "Lightweight userspace bandwidth shaper";
     license = "BSD";
     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 98fc8e4d1451..ea9719dd9b29 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var" ];
 
   meta = {
-    description = "Unbound, a validating, recursive, and caching DNS resolver.";
+    description = "Validating, recursive, and caching DNS resolver";
     license = "BSD";
     homepage = http://www.unbound.net;
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index ba0353e45078..a548a9f13bdd 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.6pre3220_fecad91";
+  name = "nix-1.7pre3252_792fd51";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/6038922/download/5/${name}.tar.xz";
-    sha256 = "0251b8cb7ad2a4974a9c8002c65f1c6e1b334be082d3dd2f085929594637f947";
+    url = "http://hydra.nixos.org/build/6500161/download/5/${name}.tar.xz";
+    sha256 = "f99c1996292ea1a20068f0a6d58d3dc4775f30fdd22cdd756ac4d749acb2c20e";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix
index 3381e3644fe5..18144b41d911 100644
--- a/pkgs/tools/package-management/nixops/default.nix
+++ b/pkgs/tools/package-management/nixops/default.nix
@@ -1,12 +1,12 @@
 { lib, pythonPackages, fetchurl, libxslt, docbook5_xsl, openssh }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "nixops-1.1";
+  name = "nixops-1.1.1";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://nixos.org/releases/nixops/${name}/${name}.tar.bz2";
-    sha256 = "1i0v4v83s663izw6al63avhs0378rp3nxchy8nkb1zam5rj097z2";
+    sha256 = "0hb77cf9l8qcjp6a1gzkzv7k10j5zvp23ilxgx5x6j93602d5jwb";
   };
 
   buildInputs = [ libxslt ];
diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix
index 28f66e1e4929..2190a1ffbe63 100644
--- a/pkgs/tools/security/apg/default.nix
+++ b/pkgs/tools/security/apg/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   patches = [ ./apg.patch ];
 
   meta = {
-    description = "A tool set for random password generation.";
+    description = "Tools for random password generation";
     longDescription = ''
       APG (Automated Password Generator) is the tool set for random
       password generation.
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index cb32085a8cfe..ec00137b36f7 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://www.clamav.net;
-    description = "an open source (GPL) antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats.";
+    description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index dd869714e056..1a443fc18b61 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pythonPackages, unzip, gamin }:
 
-let version = "0.8.6"; in
+let version = "0.8.10"; in
 
 pythonPackages.buildPythonPackage {
   name = "fail2ban-${version}";
@@ -9,7 +9,7 @@ pythonPackages.buildPythonPackage {
   src = fetchurl {
     url    = "https://github.com/fail2ban/fail2ban/zipball/${version}";
     name   = "fail2ban-${version}.zip";
-    sha256 = "0lbanfshr8kasa1bb7861w3mrm2d0c1bvv4s5703265s8zp5m284";
+    sha256 = "0zbjwnghpdnzan7hn40cjjh2r06p2ph5kblpm0w1r72djwsk67x9";
   };
 
   buildInputs = [ unzip ];
@@ -21,6 +21,7 @@ pythonPackages.buildPythonPackage {
       --replace /usr $out
 
     substituteInPlace setup.py \
+      --replace /usr $out \
       --replace /etc $out/etc \
       --replace /var $TMPDIR/var \
 
@@ -28,7 +29,7 @@ pythonPackages.buildPythonPackage {
       substituteInPlace $i \
         --replace /usr/share/fail2ban $out/share/fail2ban
     done
-    
+
     for i in config/action.d/sendmail*.conf; do
       substituteInPlace $i \
         --replace /usr/sbin/sendmail sendmail \
@@ -37,7 +38,7 @@ pythonPackages.buildPythonPackage {
   '';
 
   doCheck = false;
-  
+
   installCommand = ''
     python setup.py install --prefix=$out
   '';
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index baa8dd87ec1f..f242c3f323ae 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -13,11 +13,11 @@ assert useUsb -> (libusb != null);
 assert useCurl -> (curl != null);
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.0.21";
+  name = "gnupg-2.0.22";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1xgf1q1phdawk6y66haaqcvfnlsqk12jmjin1m2d5x6fqw18kpq0";
+    sha256 = "0lg210acj2rxq291q4cwamg9gx6gh2prb1xa93y5jhw5b6r0lza3";
   };
 
   buildInputs
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://gnupg.org/";
-    description = "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard";
+    description = "free implementation of the OpenPGP standard for encrypting and signing data";
     license = stdenv.lib.licenses.gpl3Plus;
 
     longDescription = ''
diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix
index f9b959061da0..192970b5caed 100644
--- a/pkgs/tools/security/gnupg1/default.nix
+++ b/pkgs/tools/security/gnupg1/default.nix
@@ -1,38 +1,19 @@
-{ # Support for the IDEA cipher (used by the old PGP) should only be
-  # enabled if it is legal for you to do so.
-  ideaSupport ? false
-
-, stdenv, fetchurl, readline, bzip2
-}:
-
-let
-
-  idea = fetchurl {
-    url = http://tarballs.nixos.org/idea.c.gz;
-    md5 = "9dc3bc086824a8c7a331f35e09a3e57f";
-  };
-
-in
+{ stdenv, fetchurl, readline, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.13";
+  name = "gnupg-1.4.15";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha1 = "17a75c54d292bd0923f0a1817a1b02ded37d1de1";
+    sha1 = "63ebf0ab375150903c65738070e4105200197fd4";
   };
 
   buildInputs = [ readline bzip2 ];
 
-  preConfigure = stdenv.lib.optionalString ideaSupport
-    ''
-      gunzip < ${idea} > ./cipher/idea.c
-    '';
-
   doCheck = true;
 
   meta = {
-    description = "GnuPG, a free implementation of the OpenPGP standard for encrypting and signing data";
+    description = "free implementation of the OpenPGP standard for encrypting and signing data";
     homepage = http://www.gnupg.org/;
     license = "GPLv3+";
     platforms = stdenv.lib.platforms.gnu; # arbitrary choice
diff --git a/pkgs/tools/security/haveged/default.nix b/pkgs/tools/security/haveged/default.nix
new file mode 100644
index 000000000000..48f9727b3c03
--- /dev/null
+++ b/pkgs/tools/security/haveged/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "haveged-${version}";
+  version = "1.7c";
+
+  src = fetchurl {
+    url = "http://www.issihosts.com/haveged/haveged-${version}.tar.gz";
+    sha256 = "08gi3d9lbrllk5lyxw8l65py88xhia48w758lqjddh3gv7g7wfa0";
+  };
+
+  meta = {
+    description = "A simple entropy daemon";
+    longDescription = ''
+      The haveged project is an attempt to provide an easy-to-use, unpredictable
+      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
+      the barriers to using haveged for other tasks.
+    '';
+    homepage = http://www.issihosts.com/haveged/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = stdenv.lib.maintainers.iElectric;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/prey/default.nix b/pkgs/tools/security/prey/default.nix
new file mode 100644
index 000000000000..fe71806301dd
--- /dev/null
+++ b/pkgs/tools/security/prey/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, fetchgit, curl, scrot, imagemagick, xawtv, inetutils, makeWrapper, coreutils
+, apiKey ? ""
+, deviceKey ? "" }:
+
+# TODO: this should assert keys are set, somehow if set through .override assertion fails
+#assert apiKey != "";
+#assert deviceKey != "";
+
+let
+  modulesSrc = fetchgit {
+    url = "git://github.com/prey/prey-bash-client-modules.git";
+    rev = "aba260ef110834cb2e92923a31f50c15970639ee";
+  };
+in stdenv.mkDerivation rec {
+  name = "prey-bash-client-${version}";
+  version = "0.6.0";
+
+  src = fetchurl {
+    url = "https://github.com/prey/prey-bash-client/archive/v${version}.tar.gz";
+    sha256 = "09cb15jh4jdwvix9nx048ajkw2r5jaflk68y3rkha541n8n0qwh0";
+  };
+
+  buildInputs = [ curl scrot imagemagick xawtv makeWrapper ];
+
+  phases = "unpackPhase installPhase";
+
+  installPhase = ''
+    substituteInPlace config --replace api_key=\'\' "api_key='${apiKey}'"
+    substituteInPlace config --replace device_key=\'\' "device_key='${deviceKey}'"
+
+    substituteInPlace prey.sh --replace /bin/bash $(type -Pp bash)
+    mkdir -p $out/modules
+    cp -R . $out
+    cp -R ${modulesSrc}/* $out/modules/
+    wrapProgram "$out/prey.sh" \
+      --prefix PATH ":" "${xawtv}/bin:${imagemagick}/bin:${curl}/bin:${scrot}/bin:${inetutils}/bin:${coreutils}/bin" \
+      --set CURL_CA_BUNDLE "/etc/ssl/certs/ca-bundle.crt"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://preyproject.com;
+    description = "Proven tracking software that helps you find, lock and recover your devices when stolen or missing";
+    maintainers = with maintainers; [ iElectric ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/security/pwgen/default.nix b/pkgs/tools/security/pwgen/default.nix
index aaa3b577657f..ef91e69428a3 100644
--- a/pkgs/tools/security/pwgen/default.nix
+++ b/pkgs/tools/security/pwgen/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
     sha256 = "1afxbkdl9b81760pyb972k18dmidrciy3vzcnspp3jg0aa316yn8";
   };
   meta = {
-	description = "Small, GPL'ed password generator which creates passwords which can be easily memorized by a human.";
-        platforms = stdenv.lib.platforms.all;
+    description = "Password generator which creates passwords which can be easily memorized by a human";
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/security/seccure/0.4.nix b/pkgs/tools/security/seccure/default.nix
index 33a77c078446..33a77c078446 100644
--- a/pkgs/tools/security/seccure/0.4.nix
+++ b/pkgs/tools/security/seccure/default.nix
diff --git a/pkgs/tools/security/sshuttle/default.nix b/pkgs/tools/security/sshuttle/default.nix
new file mode 100644
index 000000000000..61ba63862afa
--- /dev/null
+++ b/pkgs/tools/security/sshuttle/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, iptables, python, pythonPackages }:
+  
+stdenv.mkDerivation rec {
+  name = "sshuttle-${version}";
+  version = "0.61";
+
+  src = fetchurl {
+    url = "https://github.com/apenwarr/sshuttle/archive/sshuttle-0.61.tar.gz";
+    sha256 = "1v2v1kbwnmx6ygzhbgqcmyafx914s2p7vjp7l0pf52sa7qkliy9b";
+  };
+
+  preBuild = ''
+   substituteInPlace Documentation/all.do --replace "/bin/ls" "$(type -tP ls)";
+   substituteInPlace Documentation/md2man.py --replace "/usr/bin/env python" "${python}/bin/python"
+  '';
+
+  phases = "unpackPhase installPhase";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R . $out
+    ln -s $out/sshuttle $out/bin/sshuttle
+  '';
+  
+
+  buildInputs = [ iptables python pythonPackages.markdown pythonPackages.beautifulsoup ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/apenwarr/sshuttle;
+    description = "Transparent proxy server that works as a poor man's VPN";
+    maintainers = with maintainers; [ iElectric ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/tor/torsocks.nix b/pkgs/tools/security/tor/torsocks.nix
index ac60ccb16a1f..0254b143edfd 100644
--- a/pkgs/tools/security/tor/torsocks.nix
+++ b/pkgs/tools/security/tor/torsocks.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchgit, autoreconfHook }:
 stdenv.mkDerivation rec {
   pname = "torsocks";
   name = "${pname}-${version}";
-  version = "1.2";
+  version = "1.3";
   
-  src = fetchurl {
-    url = "http://${pname}.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1m0is5q24sf7jjlkl0icfkdc0m53nbkg0q72s57p48yp4hv7v9dy";
+  src = fetchgit {
+    url = meta.repositories.git;
+    rev = "refs/tags/${version}";
+    sha256 = "1cqplb36fkdb81kzf48xlxclf64wnp8r56x1gjayax1h6x4aal1w";
   };
 
+  buildInputs = [ autoreconfHook ];
   preConfigure = ''
       export configureFlags="$configureFlags --libdir=$out/lib"
   '';
@@ -16,6 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "use socks-friendly applications with Tor";
     homepage = http://code.google.com/p/torsocks/;
+    repositories.git = https://git.torproject.org/torsocks.git;
     license = "GPLv2";
   };
 }
diff --git a/pkgs/tools/security/torbutton/default.nix b/pkgs/tools/security/torbutton/default.nix
index 348d96b00247..05bab06d3827 100644
--- a/pkgs/tools/security/torbutton/default.nix
+++ b/pkgs/tools/security/torbutton/default.nix
@@ -21,7 +21,12 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://www.torproject.org/torbutton/;
-    description = "the component in Tor Browser Bundle that takes care of application-level security and privacy concerns in Firefox. To keep you safe, Torbutton disables many types of active content.";
+    description = "Part of the Tor Browser Bundle";
+    longDescription = ''
+      The component in Tor Browser Bundle that takes care of application-level
+      security and privacy concerns in Firefox. To keep you safe, Torbutton
+      disables many types of active content.
+    '';
     license = licenses.mit;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
index 9db39411854b..7c8c2ec09ed3 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.5";
+  name = "gptfdisk-0.8.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/gptfdisk/${name}.tar.gz";
-    sha256 = "1yaax2mga7n847x1ihbgvv4drzvndgnn4mii0mz1ab1150gnkk0m";
+    sha256 = "1cj7lribq8f3i4q6463q08bs42pvlzfj0iz2f2cnjn94hiacsya5";
   };
 
   buildInputs = [ libuuid popt icu ncurses ];
@@ -13,9 +13,11 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/sbin
     mkdir -p $out/share/man/man8
-    install -v -m755 gdisk sgdisk fixparts $out/sbin
-    install -v -m644 gdisk.8 sgdisk.8 fixparts.8 \
-        $out/share/man/man8
+    for prog in gdisk sgdisk fixparts cgdisk
+    do
+        install -v -m755 $prog $out/sbin
+        install -v -m644 $prog.8 $out/share/man/man8
+    done
   '';
 
   meta = {
@@ -26,6 +28,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.rodsbooks.com/gdisk/;
 
     maintainers = stdenv.lib.maintainers.shlevy;
+
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix
index 1c57711940bf..7d15ade348cf 100644
--- a/pkgs/tools/system/logcheck/default.nix
+++ b/pkgs/tools/system/logcheck/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
  ];
 
   meta = {
-    description = "Mails anomalies in the system logfiles to the administrator.";
+    description = "Mails anomalies in the system logfiles to the administrator";
     longDescription = ''
       Mails anomalies in the system logfiles to the administrator.
 
diff --git a/pkgs/tools/system/lshw/default.nix b/pkgs/tools/system/lshw/default.nix
index a0f838cfcf93..930cb7b7bff0 100644
--- a/pkgs/tools/system/lshw/default.nix
+++ b/pkgs/tools/system/lshw/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://ezix.org/project/wiki/HardwareLiSter;
-    description = "A small tool to provide detailed information on the hardware configuration of the machine.";
+    description = "Provide detailed information on the hardware configuration of the machine";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 3f63d077c7fa..93486d3decf2 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -3,8 +3,8 @@
 let
   pciids = fetchurl {
     # Obtained from http://pciids.sourceforge.net/v2.2/pci.ids.bz2.
-    url = http://tarballs.nixos.org/pci.ids.20120929.bz2;
-    sha256 = "1q3i479ay88wam1zz1vbgkbqb2axg8av9qjxaigrqbnw2pv0srmb";
+    url = http://tarballs.nixos.org/pci.ids.20131006.bz2;
+    sha256 = "1vmshcgxqminiyh52pdcak24lm24qlic49py9cmkp96y1s48lvsc";
   };
 in
 stdenv.mkDerivation rec {
@@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig zlib kmod which ];
 
-  # currently up-to-date
-  #preBuild = "bunzip2 < ${pciids} > pci.ids";
+  preBuild = "bunzip2 < ${pciids} > pci.ids";
 
   makeFlags = "SHARED=yes PREFIX=\${out}";
 
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 0189d04902a2..3b5c06483845 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -14,9 +14,8 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.rsyslog.com/";
-    description = "Rsyslog is an enhanced syslogd. It can be used as a drop-in replacement for stock sysklogd.";
+    description = "Enhanced syslog implementation";
     license = "GPLv3";
-
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index f5ee2f1bcbba..f2cb221cb321 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -13,9 +13,8 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.balabit.com/network-security/syslog-ng/";
-    description = "Next-generation syslogd with advanced networking and filtering capabilities.";
+    description = "Next-generation syslogd with advanced networking and filtering capabilities";
     license = "GPLv2";
-
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
index ed48a9976d4c..e1c4734bbdaf 100644
--- a/pkgs/tools/system/vboot_reference/default.nix
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Chrome OS partitioning and kernel signing tools.";
+    description = "Chrome OS partitioning and kernel signing tools";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix
index 04102093aae4..a47eb2ddf9f9 100644
--- a/pkgs/tools/text/wgetpaste/default.nix
+++ b/pkgs/tools/text/wgetpaste/default.nix
@@ -19,7 +19,7 @@
     '';
 
     meta = {
-      description = "wgetpaste";
+      description = "Command-line interface to various pastebins";
       homepage = http://wgetpaste.zlin.dk/;
       license = "publicDomain";
       maintainers = with stdenv.lib.maintainers; [qknight];
diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix
new file mode 100644
index 000000000000..f52855dfc538
--- /dev/null
+++ b/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "html-xml-utils-6.4";
+
+  src = fetchurl {
+    url = "http://www.w3.org/Tools/HTML-XML-utils/${name}.tar.gz";
+
+    sha256 = "0dqa8vjk5my728hmb7dhl6nbg7946fh905j0yzlwx7p7rg2zrxcp";
+  };
+
+  patches = [ ./no-Boolean-type.patch ];
+
+  meta = {
+    description = "Utilities for manipulating HTML and XML files";
+    homepage = http://www.w3.org/Tools/HTML-XML-utils/;
+    license = "free-non-copyleft";
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/tools/text/xml/html-xml-utils/no-Boolean-type.patch b/pkgs/tools/text/xml/html-xml-utils/no-Boolean-type.patch
new file mode 100644
index 000000000000..f675c4280e78
--- /dev/null
+++ b/pkgs/tools/text/xml/html-xml-utils/no-Boolean-type.patch
@@ -0,0 +1,20 @@
+diff -Naur html-xml-utils-6.4-orig/openurl.c html-xml-utils-6.4/openurl.c
+--- html-xml-utils-6.4-orig/openurl.c	2012-10-23 09:55:12.000000000 -0400
++++ html-xml-utils-6.4/openurl.c	2013-10-17 14:05:11.424077842 -0400
+@@ -66,6 +66,7 @@
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <assert.h>
++#include <stdbool.h>
+ #include "export.h"
+ #if HAVE_LIBCURL && !HAVE_FOPENCOOKIE
+ # include "fopencookie.e"	/* Use our own fopencookie() */
+@@ -505,7 +506,7 @@
+ 			const conststring path, Dictionary request,
+ 			Dictionary response, int maxredirs, int *status)
+ {
+-  Boolean delete_response = !response;
++  bool delete_response = !response;
+   conststring h, v;
+   char buf[BUFLEN];
+   int fd, n, i;
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index 986d0d7a69c0..aeeaf04e7bad 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -1,4 +1,27 @@
 { fetchurl, stdenv, python
+
+, enableStandardFeatures ? false
+, sourceHighlight ? null
+, highlight ? null
+, pygments ? null
+, graphviz ? null
+, tetex ? null
+, dblatexFull ? null
+, libxslt ? null
+, w3m ? null
+, lynx ? null
+, imagemagick ? null
+, lilypond ? null
+, libxml2 ? null
+, docbook_xml_dtd_45 ? null
+, docbook5_xsl ? null
+, docbook_xsl ? null
+, fop ? null
+# TODO: Package this:
+#, epubcheck ? null
+, gnused ? null
+, coreutils ? null
+
 , unzip ? null
 # filters
 , enableDitaaFilter ? false, jre ? null
@@ -12,6 +35,28 @@
 , enableOdfBackend ? false
 }:
 
+assert enableStandardFeatures ->
+  sourceHighlight != null &&
+  highlight != null &&
+  pygments != null &&
+  graphviz != null &&
+  tetex != null &&
+  dblatexFull != null &&
+  libxslt != null &&
+  w3m != null &&
+  lynx != null &&
+  imagemagick != null &&
+  lilypond != null &&
+  libxml2 != null &&
+  docbook_xml_dtd_45 != null &&
+  docbook5_xsl != null &&
+  docbook_xsl != null &&
+  fop != null &&
+# TODO: Package this:
+#  epubcheck != null &&
+  gnused != null &&
+  coreutils != null;
+
 # filters
 assert (enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter || enableAafigureFilter) -> unzip != null;
 assert enableDitaaFilter -> jre != null;
@@ -49,7 +94,7 @@ let
     sha256 = "0h4bql1nb4y4fmg2yvlpfjhvy22ln8jsaxdr10f8bfcg5lr0zkxs";
   };
 
-  # latest commit in master branch as per 2013-09-22
+  # there are no archives or tags, using latest commit in master branch as per 2013-09-22
   matplotlibFilterSrc = let commit = "75f0d009629f93f33fab04b83faca20cc35dd358"; in fetchurl rec {
     name = "mplw-${commit}.tar.gz";
     url = "https://api.github.com/repos/lvv/mplw/tarball/${commit}";
@@ -151,11 +196,48 @@ stdenv.mkDerivation rec {
     # the odp backend already has that fix. Copy it here until fixed upstream.
     sed -i "s|'/etc/asciidoc/backends/odt/asciidoc.ott'|os.path.dirname(__file__),'asciidoc.ott'|" \
         "$out/etc/asciidoc/backends/odt/a2x-backend.py"
+  '' + optionalString enableStandardFeatures ''
+    sed -e "s|dot|${graphviz}/bin/dot|g" \
+        -e "s|neato|${graphviz}/bin/neato|g" \
+        -e "s|twopi|${graphviz}/bin/circo|g" \
+        -e "s|circo|${graphviz}/bin/circo|g" \
+        -e "s|fdp|${graphviz}/bin/fdp|g" \
+        -i "filters/graphviz/graphviz2png.py"
+
+    sed -e "s|run('latex|run('${tetex}/bin/latex|g" \
+        -e "s|cmd = 'dvipng'|cmd = '${tetex}/bin/dvipng'|g" \
+        -i "filters/latex/latex2png.py"
+
+    sed -e "s|run('abc2ly|run('${lilypond}/bin/abc2ly|g" \
+        -e "s|run('lilypond|run('${lilypond}/bin/lilypond|g" \
+        -e "s|run('convert|run('${imagemagick}/bin/convert|g" \
+        -i "filters/music/music2png.py"
+
+    sed -e 's|filter="source-highlight|filter="${sourceHighlight}/bin/source-highlight|' \
+        -e 's|filter="highlight|filter="${highlight}/bin/highlight|' \
+        -e 's|filter="pygmentize|filter="${pygments}/bin/pygmentize|' \
+        -i "filters/source/source-highlight-filter.conf"
+
+    # ENV is custom environment passed to programs that a2x invokes. Here we
+    # use it to work around an impurity in the tetex package; tetex tools
+    # cannot find their neighbours (e.g. pdflatex doesn't find mktextfm).
+    # We can remove PATH= when those impurities are fixed.
+    sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook5_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${tetex}/bin:${coreutils}/bin:${gnused}/bin')|" \
+        -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \
+        -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt}/bin/xsltproc'|" \
+        -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \
+        -e "s|^FOP =.*|FOP = '${fop}/bin/fop'|" \
+        -e "s|^W3M =.*|W3M = '${w3m}/bin/w3m'|" \
+        -e "s|^LYNX =.*|LYNX = '${lynx}/bin/lynx'|" \
+        -e "s|^XMLLINT =.*|XMLLINT = '${libxml2}/bin/xmllint'|" \
+        -e "s|^EPUBCHECK =.*|EPUBCHECK = 'nixpkgs_is_missing_epubcheck'|" \
+        -i a2x.py
   '' + ''
     for n in $(find "$out" . -name \*.py); do
       sed -i -e "s,^#![[:space:]]*.*/bin/env python,#!${python}/bin/python,g" "$n"
       chmod +x "$n"
     done
+
     sed -i -e "s,/etc/vim,,g" Makefile.in
   '';
 
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index b7204b957842..b97252e74de0 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.16";
+  version = "0.7.17";
   name = "pdf2djvu-${version}";
 
   src = fetchurl {
     url = "http://pdf2djvu.googlecode.com/files/pdf2djvu_${version}.tar.gz";
-    sha256 = "1yg4ppqxpfda89yi4c3rrq2zhar5dzyqypvqdvdd0r7is2321nnv";
+    sha256 = "1nplcabb8526bs5707k9212pi000wnskq3c9hbq9acgmdlnnwvgy";
   };
 
   buildInputs = [ pkgconfig djvulibre poppler fontconfig libjpeg ];
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index 9774d7d1a948..3a8b41da6609 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation ( rec {
   name = "${pname}-${version}";
 
   meta = {
-    description = "AUCTeX is an extensible package for writing and formatting TeX files in GNU Emacs and XEmacs.";
+    description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs";
     homepage = http://www.gnu.org/software/auctex;
   };
 
diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix
index fa4746a562ea..6993158291c2 100644
--- a/pkgs/tools/typesetting/tex/dblatex/default.nix
+++ b/pkgs/tools/typesetting/tex/dblatex/default.nix
@@ -1,4 +1,15 @@
-{ stdenv, fetchurl, python, libxslt, tetex }:
+{ stdenv, fetchurl, python, libxslt, tetex
+, enableAllFeatures ? false, imagemagick ? null, transfig ? null, inkscape ? null, fontconfig ? null, ghostscript ? null }:
+
+# NOTE: enableAllFeatures just purifies the expression, it doesn't actually
+# enable any extra features.
+
+assert enableAllFeatures ->
+  imagemagick != null &&
+  transfig != null &&
+  inkscape != null &&
+  fontconfig != null &&
+  ghostscript != null;
 
 stdenv.mkDerivation rec {
   name = "dblatex-0.3.4";
@@ -8,15 +19,39 @@ stdenv.mkDerivation rec {
     sha256 = "120w3wm07qx0k1grgdhjwm2vpwil71icshjvqznskp1f6ggch290";
   };
 
+  buildInputs = [ python libxslt tetex ]
+    ++ stdenv.lib.optionals enableAllFeatures [ imagemagick transfig ];
+
+  # TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have
+  # that yet. In Ubuntu, texindy is a part of the xindy package.
+  preConfigure = ''
+    sed -i 's|self.install_layout == "deb"|False|' setup.py
+  '' + stdenv.lib.optionalString enableAllFeatures ''
+    for file in $(find -name "*.py"); do
+        sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt}/bin/xsltproc|g' \
+            -e 's|Popen(\["xsltproc|Popen(\["${libxslt}/bin/xsltproc|g' \
+            -e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \
+            -e 's|cmd = "epstopdf|cmd = "${tetex}/bin/epstopdf|g' \
+            -e 's|cmd = \["makeindex|cmd = ["${tetex}/bin/makeindex|g' \
+            -e 's|doc.program = "pdflatex"|doc.program = "${tetex}/bin/pdflatex"|g' \
+            -e 's|self.program = "latex"|self.program = "${tetex}/bin/latex"|g' \
+            -e 's|Popen("pdflatex|Popen("${tetex}/bin/pdflatex|g' \
+            -e 's|"fc-match"|"${fontconfig}/bin/fc-match"|g' \
+            -e 's|"fc-list"|"${fontconfig}/bin/fc-list"|g' \
+            -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \
+            -e 's|cmd = "fig2dev|cmd = "${transfig}/bin/fig2dev|g' \
+            -e 's|cmd = \["ps2pdf|cmd = ["${ghostscript}/bin/ps2pdf|g' \
+            -e 's|cmd = "convert|cmd = "${imagemagick}/bin/convert|g' \
+            -i "$file"
+    done
+  '';
+
   buildPhase = "true";
   
   installPhase = ''
-    sed -i 's|self.install_layout == "deb"|False|' setup.py
-    python ./setup.py install --prefix=$out
+    python ./setup.py install --prefix="$out" --use-python-path --verbose
   '';
 
-  buildInputs = [ python libxslt tetex ];
-
   meta = {
     description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt";
     homepage = http://dblatex.sourceforge.net/;
diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix
index 84fa1cfab75a..2d1de93fed87 100644
--- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix
+++ b/pkgs/tools/typesetting/tex/texlive/aggregate.nix
@@ -3,6 +3,7 @@ rec {
   name = "TeXLive-linkdir";
 
   buildInputs = lib.closePropagation paths
+    ++ [perl]
     ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
 
   phaseNames = [ "doAggregate" ];
@@ -11,12 +12,15 @@ rec {
     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
         find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) ! -type d | while read; do
             REPLY="''${REPLY#$currentPath}"
-            mkdir -p $out/"$(dirname "$REPLY")"
             ln -fs $currentPath/"$REPLY" $out/"$REPLY"
             echo
-        done | while read; do head -n 99 >/dev/null; echo -n .; done
+        done | while read; do head -n 999 >/dev/null; echo -n .; done
 
         for i in "$currentPath/bin/"* :; do
             test "$i" != : || continue
@@ -31,8 +35,8 @@ rec {
 
     ln -s $out/texmf* $out/share/
 
-    rm -r $out/texmf-config
-    find $out/texmf/ -type d | while read; do
+    rm -rf $out/texmf-config
+    find $out/texmf*/ -type d | while read; do
       REPLY="''${REPLY#$out/texmf}"
       mkdir -p $out/texmf-config/"$REPLY"
     done
@@ -45,9 +49,10 @@ rec {
         chmod a+x $out/bin/$(basename $i)
     done
 
-    rm $out/texmf*/ls-R
+    rm -f $out/texmf*/ls-R
     for i in web2c texconfig fonts/map; do
-        cp -Lr $out/texmf/$i/* $out/texmf-config/$i || true
+        mkdir -p $out/texmf-config/$i 
+        cp -Lr $out/texmf*/$i/* $out/texmf-config/$i || true
     done
     chmod -R u+w $out/texmf-config
 
diff --git a/pkgs/tools/typesetting/tex/texlive/cm-super.nix b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
index e23b39368507..4d161c3e0536 100644
--- a/pkgs/tools/typesetting/tex/texlive/cm-super.nix
+++ b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
@@ -10,16 +10,16 @@ rec {
   doCopy = fullDepEntry (''
     mkdir -p $out/share/
 
-    mkdir -p $out/texmf/fonts/enc
-    mkdir -p $out/texmf/fonts/map
-    mkdir -p $out/texmf/fonts/type1/public/cm-super
-    cp pfb/*.pfb $out/texmf/fonts/type1/public/cm-super
-    mkdir -p $out/texmf/dvips/cm-super
-    cp dvips/*.{map,enc}  $out/texmf/dvips/cm-super
-    cp dvips/*.enc  $out/texmf/fonts/enc
-    cp dvips/*.map  $out/texmf/fonts/map
-    mkdir -p $out/texmf/dvipdfm/config
-    cp dvipdfm/*.map  $out/texmf/dvipdfm/config
+    mkdir -p $out/texmf-dist/fonts/enc
+    mkdir -p $out/texmf-dist/fonts/map
+    mkdir -p $out/texmf-dist/fonts/type1/public/cm-super
+    cp pfb/*.pfb $out/texmf-dist/fonts/type1/public/cm-super
+    mkdir -p $out/texmf-dist/dvips/cm-super
+    cp dvips/*.{map,enc}  $out/texmf-dist/dvips/cm-super
+    cp dvips/*.enc  $out/texmf-dist/fonts/enc
+    cp dvips/*.map  $out/texmf-dist/fonts/map
+    mkdir -p $out/texmf-dist/dvipdfm/config
+    cp dvipdfm/*.map  $out/texmf-dist/dvipdfm/config
 
     ln -s $out/texmf* $out/share/
   '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
diff --git a/pkgs/tools/typesetting/tex/texlive/context.nix b/pkgs/tools/typesetting/tex/texlive/context.nix
index a7161cea4c1b..c0c702cd4189 100644
--- a/pkgs/tools/typesetting/tex/texlive/context.nix
+++ b/pkgs/tools/typesetting/tex/texlive/context.nix
@@ -11,8 +11,8 @@ rec {
   doCopy = fullDepEntry (''
     mkdir -p $out/share/
 
-    mkdir -p $out/texmf
-    cp -r * $out/texmf
+    mkdir -p $out/texmf-dist
+    cp -r * $out/texmf-dist
 
     ln -s $out/texmf* $out/share/
   '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index f119dbd1e4a1..57f7424dc2da 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -1,18 +1,18 @@
 args : with args;
 rec {
   src = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2012.20120628.orig.tar.xz;
-    sha256 = "0k94df3lfvghngzdzi2d4fz2z0gs8iglz7h3w2lxvlhiwwpmx601";
+    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2013.20130729.30972.orig.tar.xz;
+    sha256 = "1idgyim6r4bi3id245k616qrdarfh65xv3gi2psarqqmsw504yhd";
   };
 
   texmfSrc = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-base/texlive-base_2012.20120611.orig.tar.xz;
-    sha256 = "116zm0qdq9rd4vakhd2py9q7lq3ihspc7hy33bh8wy5v1rgiqsm6";
+    url = mirror://debian/pool/main/t/texlive-base/texlive-base_2013.20130918.orig.tar.xz;
+    sha256 = "0h7x49zsd2gs8fr28f4h04dv5m8p2mpgqxk2vvl5xlf4wwxxbm2p";
   };
 
   langTexmfSrc = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2012.20120611.orig.tar.xz;
-    sha256 = "0zh9svszfkbjx72i7sa9gg0gak93wf05845mxpjv56h8qwk4bffv";
+    url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2013.20131010.orig.tar.xz;
+    sha256 = "17wfd2qmyafv74ac3ssy9aga12g09l2q0r1p19fb4vvs0wrkwzbz";
   };
 
   setupHook = ./setup-hook.sh;
@@ -34,6 +34,8 @@ rec {
     sed -e 's@\<env python@${python}/bin/python@' -i $(grep 'env python' -rl . )
 
     sed -e '/ubidi_open/i#include <unicode/urename.h>' -i $(find . -name configure)
+    sed -e 's/-lttf/-lfreetype/' -i $(find . -name configure)
+
     sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
     sed -e '1i\#include <string.h>\n\#include <stdlib.h>' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' )
 
@@ -44,7 +46,7 @@ rec {
     cd Work
   '' ) [ "minInit" "doUnpack" "addInputs" "defEnsureDir" ];
 
-  doPostInstall = fullDepEntry( ''
+  promoteLibexec = fullDepEntry (''
     mkdir -p $out/libexec/
     mv $out/bin $out/libexec/$(uname -m)
     mkdir -p $out/bin
@@ -61,13 +63,15 @@ rec {
           rm "$out/libexec/$(basename "$i")"
       fi;
     done
+  '') ["doMakeInstall"];
 
-    [ -d $out/texmf-config ] || ln -s $out/texmf $out/texmf-config
-    ln -s -v "$out/"*texmf* "$out/share/" || true
-
-    sed -e 's/.*pyhyph.*/=&/' -i $out/texmf-config/tex/generic/config/language.dat
+  doPostInstall = fullDepEntry( ''
+    cp -r "$out/"texmf* "$out/share/" || true
+    rm -rf "$out"/texmf*
+    [ -d $out/share/texmf-config ] || ln -s $out/share/texmf-dist $out/share/texmf-config
+    ln -s "$out"/share/texmf* "$out"/
 
-    PATH=$PATH:$out/bin mktexlsr $out/texmf*
+    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
 
     HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees
 
@@ -80,25 +84,37 @@ rec {
     #
     # I find it acceptable, hence the "|| true".
     echo "building format files..."
-    mkdir -p "$out/texmf-var/web2c"
+    mkdir -p "$out/share/texmf-var/web2c"
+    ln -sf "$out"/out/share/texmf* "$out"/
     PATH="$PATH:$out/bin" fmtutil-sys --all || true
 
-    PATH=$PATH:$out/bin mktexlsr $out/texmf*
+    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     for prog in $out/bin/*; do
       wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler}/lib"
     done
-  '' ) [ "minInit" "defEnsureDir" "doUnpack" "doMakeInstall" ];
+  '' ) [ "minInit" "defEnsureDir" "doUnpack" "doMakeInstall" "promoteLibexec" "patchShebangsInterim"];
+
+  patchShebangsInterimBin = doPatchShebangs ''$out/bin/'';
+  patchShebangsInterimLibexec = doPatchShebangs ''$out/libexec/'';
+  patchShebangsInterimShareTexmfDist = doPatchShebangs ''$out/share/texmf-dist/scripts/'';
+  patchShebangsInterimTexmfDist = doPatchShebangs ''$out/texmf-dist/scripts/'';
+
+  patchShebangsInterim = fullDepEntry ("") ["patchShebangsInterimBin" 
+    "patchShebangsInterimLibexec" "patchShebangsInterimTexmfDist" 
+    "patchShebangsInterimShareTexmfDist"];
 
   buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11 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 silgraphite lesstif zziplib ]
+    poppler graphite2 lesstif zziplib harfbuzz texinfo ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper ];
 
   configureFlags = [ "--with-x11" "--enable-ipc" "--with-mktexfmt"
     "--enable-shared" "--disable-native-texlive-build" "--with-system-zziplib"
-    "--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2" ]
+    "--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2" 
+    "--with-system-freetype=no" "--disable-ttf2pk" "--enable-ttf2pk2"
+    ]
     ++ ( if stdenv.isDarwin
          # ironically, couldn't get xetex compiling on darwin
          then [ "--disable-xetex" "--disable-xdv2pdf" "--disable-xdvipdfmx" ]
@@ -107,7 +123,7 @@ rec {
 
   phaseNames = [ "addInputs" "doMainBuild" "doMakeInstall" "doPostInstall" ];
 
-  name = "texlive-core-2012";
+  name = "texlive-core-2013";
 
   meta = with stdenv.lib; {
     description = "A TeX distribution";
diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix
index 180019bb205f..6613578e2c67 100644
--- a/pkgs/tools/typesetting/tex/texlive/extra.nix
+++ b/pkgs/tools/typesetting/tex/texlive/extra.nix
@@ -1,9 +1,9 @@
 args: with args;
 rec {
-  name = "texlive-extra-2012";
+  name = "texlive-extra-2013";
   src = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2012.20120611.orig.tar.xz;
-    sha256 = "1wn2gwifb5ww6nb15zdbkk5yz5spynvwqscvrgxzb84p0z3hy8dq";
+    url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2013.20131010.orig.tar.xz;
+    sha256 = "1wciyjwp0swny22amwcnr6vvdwjy423856q7c3l1sd5b31xfbc18";
   };
 
   buildInputs = [texLive xz];
diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
index 28329cff9167..0ce1afbb41b3 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
@@ -10,9 +10,9 @@ rec {
   buildInputs = [texLive unzip];
   phaseNames = ["doCopy"];
   doCopy = fullDepEntry (''
-    mkdir -p $out/texmf/tex/latex/moderncv $out/texmf/doc $out/share
-    mv *.cls *.sty $out/texmf/tex/latex/moderncv/
-    mv examples $out/texmf/doc/moderncv
+    mkdir -p $out/texmf-dist/tex/latex/moderncv $out/texmf-dist/doc $out/share
+    mv *.cls *.sty $out/texmf-dist/tex/latex/moderncv/
+    mv examples $out/texmf-dist/doc/moderncv
     ln -s $out/texmf* $out/share/
   '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
 
diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
index d129cc62020e..4cb93794edfe 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
@@ -13,9 +13,9 @@ rec {
   buildInputs = [texLive unzip];
   phaseNames = ["doCopy"];
   doCopy = fullDepEntry (''
-    mkdir -p $out/texmf/tex/latex/moderntimeline $out/texmf/doc/moderntimeline $out/share
-    mv *.dtx *.ins $out/texmf/tex/latex/moderntimeline/
-    mv *.pdf $out/texmf/doc/moderntimeline/
+    mkdir -p $out/texmf-dist/tex/latex/moderntimeline $out/texmf-dist/doc/moderntimeline $out/share
+    mv *.dtx *.ins $out/texmf-dist/tex/latex/moderntimeline/
+    mv *.pdf $out/texmf-dist/doc/moderntimeline/
     ln -s $out/texmf* $out/share/
   '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
 
diff --git a/pkgs/tools/typesetting/tex/texlive/pgf.nix b/pkgs/tools/typesetting/tex/texlive/pgf.nix
index 1f7abc126c3a..b46229e98285 100644
--- a/pkgs/tools/typesetting/tex/texlive/pgf.nix
+++ b/pkgs/tools/typesetting/tex/texlive/pgf.nix
@@ -14,8 +14,8 @@ rec {
   phaseNames = ["doCopy"];
   doCopy = fullDepEntry (''
     mkdir -p $out/share/
-    mkdir -p $out/texmf/tex/generic/pgf
-    cp -r * $out/texmf/tex/generic/pgf
+    mkdir -p $out/texmf-dist/tex/generic/pgf
+    cp -r * $out/texmf-dist/tex/generic/pgf
     ln -s $out/texmf* $out/share/
   '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
 
diff --git a/pkgs/tools/typesetting/tex/texlive/xcolor.nix b/pkgs/tools/typesetting/tex/texlive/xcolor.nix
index e59a58ce9b26..892734afe461 100644
--- a/pkgs/tools/typesetting/tex/texlive/xcolor.nix
+++ b/pkgs/tools/typesetting/tex/texlive/xcolor.nix
@@ -12,11 +12,11 @@ rec {
     export HOME=$PWD
     mkdir -p $out/share/
 
-    mkdir -p $out/texmf/tex/latex/xcolor
-    mkdir -p $out/texmf/dvips/xcolor
+    mkdir -p $out/texmf-dist/tex/latex/xcolor
+    mkdir -p $out/texmf-dist/dvips/xcolor
     latex xcolor.ins 
-    cp *.sty *.def $out/texmf/tex/latex/xcolor
-    cp *.pro $out/texmf/dvips/xcolor
+    cp *.sty *.def $out/texmf-dist/tex/latex/xcolor
+    cp *.pro $out/texmf-dist/dvips/xcolor
 
     #latex xcolor.dtx
     #latex xcolor.dtx
@@ -25,8 +25,8 @@ rec {
     #latex xcolor.dtx
 
     rm *.sty *.pro *.ins *.def *.dtx
-    mkdir -p $out/texmf/doc/latex-xcolor
-    cp *  $out/texmf/doc/latex-xcolor
+    mkdir -p $out/texmf-dist/doc/latex-xcolor
+    cp *  $out/texmf-dist/doc/latex-xcolor
 
     ln -s $out/texmf* $out/share/
   '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7d129ac55a58..7ed4486c98c2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -46,7 +46,7 @@ let config_ = config; platform_ = platform; in # rename the function arguments
 
 let
 
-  lib = import ../lib;
+  lib = import ../../lib;
 
   # The contents of the configuration file found at $NIXPKGS_CONFIG or
   # $HOME/.nixpkgs/config.nix.
@@ -381,7 +381,7 @@ let
     inherit pkgs;
   };
 
-  composableDerivation = (import ../lib/composable-derivation.nix) {
+  composableDerivation = (import ../../lib/composable-derivation.nix) {
     inherit pkgs lib;
   };
 
@@ -497,6 +497,10 @@ let
 
   autojump = callPackage ../tools/misc/autojump { };
 
+  autorandr = callPackage ../tools/misc/autorandr {
+    inherit (xorg) xrandr xdpyinfo;
+  };
+
   avahi = callPackage ../development/libraries/avahi {
     qt4Support = config.avahi.qt4Support or false;
   };
@@ -568,14 +572,20 @@ let
 
   asciidoc = callPackage ../tools/typesetting/asciidoc {
     inherit (pythonPackages) matplotlib numpy aafigure recursivePthLoader;
+    enableStandardFeatures = false;
   };
 
+  asciidocFull = appendToName "full" (asciidoc.override {
+    inherit (pythonPackages) pygments;
+    enableStandardFeatures = true;
+  });
+
   autossh = callPackage ../tools/networking/autossh { };
 
   bacula = callPackage ../tools/backup/bacula { };
 
   bgs = callPackage ../tools/X11/bgs { };
-  
+
   bibtextools = callPackage ../tools/typesetting/bibtex-tools {
     inherit (strategoPackages016) strategoxt sdf;
   };
@@ -825,6 +835,8 @@ let
 
   ethtool = callPackage ../tools/misc/ethtool { };
 
+  ettercap = callPackage ../applications/networking/sniffers/ettercap { };
+
   euca2ools = callPackage ../tools/virtualization/euca2ools { pythonPackages = python26Packages; };
 
   evtest = callPackage ../applications/misc/evtest { };
@@ -959,9 +971,7 @@ let
 
   gnupatch = callPackage ../tools/text/gnupatch { };
 
-  gnupg1orig = callPackage ../tools/security/gnupg1 {
-    ideaSupport = false;
-  };
+  gnupg1orig = callPackage ../tools/security/gnupg1 { };
 
   gnupg1compat = callPackage ../tools/security/gnupg1compat { };
 
@@ -1032,7 +1042,7 @@ let
 
   gtmess = callPackage ../applications/networking/instant-messengers/gtmess { };
 
-  gummiboot = callPackage ../tools/misc/gummiboot { };
+  gummiboot = callPackage ../tools/misc/gummiboot { stdenv = overrideGCC stdenv gcc47; };
 
   gupnp = callPackage ../development/libraries/gupnp {
     inherit (gnome) libsoup;
@@ -1050,6 +1060,8 @@ let
 
   gzip = callPackage ../tools/compression/gzip { };
 
+  gzrt = callPackage ../tools/compression/gzrt { };
+
   partclone = callPackage ../tools/backup/partclone { };
 
   partimage = callPackage ../tools/backup/partimage { };
@@ -1058,6 +1070,8 @@ let
 
   haproxy = callPackage ../tools/networking/haproxy { };
 
+  haveged = callPackage ../tools/security/haveged { };
+
   hardlink = callPackage ../tools/system/hardlink { };
 
   halibut = callPackage ../tools/typesetting/halibut { };
@@ -1549,6 +1563,8 @@ let
 
   pk2cmd = callPackage ../tools/misc/pk2cmd { };
 
+  plantuml = callPackage ../tools/misc/plantuml { };
+
   plan9port = callPackage ../tools/system/plan9port { };
 
   ploticus = callPackage ../tools/graphics/ploticus {
@@ -1585,6 +1601,8 @@ let
 
   pptp = callPackage ../tools/networking/pptp {};
 
+  prey-bash-client = callPackage ../tools/security/prey { };
+
   proxychains = callPackage ../tools/networking/proxychains { };
 
   proxytunnel = callPackage ../tools/misc/proxytunnel { };
@@ -1715,7 +1733,7 @@ let
 
   sdcv = callPackage ../applications/misc/sdcv { };
 
-  seccure = callPackage ../tools/security/seccure/0.4.nix { };
+  seccure = callPackage ../tools/security/seccure { };
 
   setserial = builderDefsPackage (import ../tools/system/setserial) {
     inherit groff;
@@ -1783,6 +1801,8 @@ let
 
   sshfsFuse = callPackage ../tools/filesystems/sshfs-fuse { };
 
+  sshuttle = callPackage ../tools/security/sshuttle { };
+
   sudo = callPackage ../tools/security/sudo { };
 
   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) { };
@@ -1930,6 +1950,8 @@ let
 
   htmlTidy = callPackage ../tools/text/html-tidy { };
 
+  html-xml-utils = callPackage ../tools/text/xml/html-xml-utils { };
+
   tftp_hpa = callPackage ../tools/networking/tftp-hpa {};
 
   tigervnc = callPackage ../tools/admin/tigervnc {
@@ -3171,6 +3193,8 @@ let
 
   j = callPackage ../development/interpreters/j {};
 
+  jmeter = callPackage ../applications/networking/jmeter {};
+
   kaffe = callPackage ../development/interpreters/kaffe { };
 
   kona = callPackage ../development/interpreters/kona {};
@@ -4334,8 +4358,8 @@ let
 
   gnet = callPackage ../development/libraries/gnet { };
 
-  gnu_efi = callPackage ../development/libraries/gnu-efi {
-    stdenv = overrideInStdenv stdenv [gnumake381];
+  gnu-efi = callPackage ../development/libraries/gnu-efi {
+    stdenv = overrideGCC stdenv gcc47;
   };
 
   gnutls = callPackage ../development/libraries/gnutls {
@@ -4346,6 +4370,10 @@ let
     guileBindings = config.gnutls.guile or true;
   };
 
+  gnutls32 = callPackage ../development/libraries/gnutls/3.2.nix {
+    guileBindings = config.gnutls.guile or true;
+  };
+
   gnutls_without_guile = lowPrio (gnutls.override { guileBindings = false; });
   gnutls2_without_guile = lowPrio (gnutls2.override { guileBindings = false; });
 
@@ -4445,6 +4473,8 @@ let
 
   gts = callPackage ../development/libraries/gts { };
 
+  gurobi = callPackage ../development/libraries/gurobi {};
+
   gvfs = callPackage ../development/libraries/gvfs { };
 
   gwenhywfar = callPackage ../development/libraries/gwenhywfar { };
@@ -4454,7 +4484,10 @@ let
 
   heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { };
 
-  harfbuzz = callPackage ../development/libraries/harfbuzz { };
+  harfbuzz = callPackage ../development/libraries/harfbuzz {
+    icu = null;
+    graphite2 = null;
+  };
 
   hawknl = callPackage ../development/libraries/hawknl { };
 
@@ -4836,6 +4869,8 @@ let
     libtool = libtool_1_5;
   };
 
+  libjson_rpc_cpp = callPackage ../development/libraries/libjson-rpc-cpp { };
+
   libkate = callPackage ../development/libraries/libkate { };
 
   libksba = callPackage ../development/libraries/libksba { };
@@ -4889,6 +4924,8 @@ let
 
   libmusicbrainz = libmusicbrainz3;
 
+  libnet = callPackage ../development/libraries/libnet { };
+
   libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { };
 
   libnetfilter_queue = callPackage ../development/libraries/libnetfilter_queue { };
@@ -4963,6 +5000,8 @@ let
       else stdenv;
   };
 
+  libsodium = callPackage ../development/libraries/libsodium { };
+
   libsoup = callPackage ../development/libraries/libsoup { };
 
   libssh = callPackage ../development/libraries/libssh { };
@@ -4992,6 +5031,8 @@ let
       else stdenv;
   };
 
+  libtoxcore = callPackage ../development/libraries/libtoxcore { };
+
   libtunepimp = callPackage ../development/libraries/libtunepimp { };
 
   libtxc_dxtn = callPackage ../development/libraries/libtxc_dxtn { };
@@ -5098,6 +5139,9 @@ let
 
   libyaml = callPackage ../development/libraries/libyaml { };
 
+  libyamlcpp = callPackage ../development/libraries/libyaml-cpp { };
+  libyamlcpp03 = callPackage ../development/libraries/libyaml-cpp/0.3.x.nix { };
+
   libzip = callPackage ../development/libraries/libzip { };
 
   libzrtpcpp = callPackage ../development/libraries/libzrtpcpp { };
@@ -5519,9 +5563,23 @@ let
 
   SDL_ttf = callPackage ../development/libraries/SDL_ttf { };
 
+  SDL2 = callPackage ../development/libraries/SDL2 {
+    openglSupport = mesaSupported;
+    alsaSupport = true;
+    x11Support = true;
+    pulseaudioSupport = false; # better go through ALSA
+  };
+
+  SDL2_image = callPackage ../development/libraries/SDL2_image { };
+
+  SDL2_mixer = callPackage ../development/libraries/SDL2_mixer { };
+
+  SDL2_gfx = callPackage ../development/libraries/SDL2_gfx { };
+
   serd = callPackage ../development/libraries/serd {};
 
   silgraphite = callPackage ../development/libraries/silgraphite {};
+  graphite2 = callPackage ../development/libraries/silgraphite/graphite2.nix {};
 
   simgear = callPackage ../development/libraries/simgear { };
 
@@ -5871,6 +5929,17 @@ let
 
   jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { };
 
+  ### DEVELOPMENT / LISP MODULES
+
+  asdf = callPackage ../development/lisp-modules/asdf {};
+  clwrapperFunction = callPackage ../development/lisp-modules/clwrapper;
+  wrapLisp = lisp: clwrapperFunction {lisp=lisp;};
+  lispPackagesFor = clwrapper: callPackage ../development/lisp-modules/lisp-packages.nix{
+    inherit clwrapper;
+  };
+  lispPackagesClisp = lispPackagesFor (wrapLisp clisp);
+  lispPackagesSBCL = lispPackagesFor (wrapLisp sbcl);
+  lispPackages = recurseIntoAttrs lispPackagesSBCL;
 
   ### DEVELOPMENT / PERL MODULES
 
@@ -6172,22 +6241,12 @@ let
 
   riak = callPackage ../servers/nosql/riak/1.3.1.nix { };
 
-  mysql4 = import ../servers/sql/mysql {
-    inherit fetchurl stdenv ncurses zlib perl;
-    ps = procps; /* !!! Linux only */
-  };
-
-  mysql5 = import ../servers/sql/mysql5 {
-    inherit fetchurl stdenv ncurses zlib perl openssl;
-    ps = procps; /* !!! Linux only */
-  };
-
-  mysql51 = import ../servers/sql/mysql51 {
+  mysql51 = import ../servers/sql/mysql/5.1.x.nix {
     inherit fetchurl ncurses zlib perl openssl stdenv;
     ps = procps; /* !!! Linux only */
   };
 
-  mysql55 = callPackage ../servers/sql/mysql55 { };
+  mysql55 = callPackage ../servers/sql/mysql/5.5.x.nix { };
 
   mysql = mysql51;
 
@@ -6931,7 +6990,7 @@ let
   systemd_with_lvm2 = pkgs.lib.overrideDerivation pkgs.systemd (p: {
       name = p.name + "-with-lvm2";
       postInstall = p.postInstall + ''
-        cp ${pkgs.lvm2}/lib/systemd/system-generators/* $out/lib/systemd/system-generators
+        cp "${pkgs.lvm2}/lib/systemd/system-generators/"* $out/lib/systemd/system-generators
       '';
   });
 
@@ -6987,7 +7046,7 @@ let
 
   upower = callPackage ../os-specific/linux/upower {
     libusb1 = callPackage ../development/libraries/libusb1/1_0_9.nix {};
-    };
+  };
 
   upstart = callPackage ../os-specific/linux/upstart { };
 
@@ -7501,6 +7560,8 @@ let
 
   dvswitch = callPackage ../applications/video/dvswitch { };
 
+  dwb = callPackage ../applications/networking/browsers/dwb { };
+
   dwm = callPackage ../applications/window-managers/dwm {
     patches = config.dwm.patches or [];
   };
@@ -8256,7 +8317,7 @@ let
   mpg123 = callPackage ../applications/audio/mpg123 { };
 
   mpg321 = callPackage ../applications/audio/mpg321 { };
-  
+
   mpc_cli = callPackage ../applications/audio/mpc { };
 
   ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
@@ -8443,6 +8504,8 @@ let
 
   pidginsipe = callPackage ../applications/networking/instant-messengers/pidgin-plugins/sipe { };
 
+  toxprpl = callPackage ../applications/networking/instant-messengers/pidgin-plugins/tox-prpl { };
+
   pinfo = callPackage ../applications/misc/pinfo { };
 
   pinta = callPackage ../applications/graphics/pinta {
@@ -8626,10 +8689,7 @@ let
 
   stalonetray = callPackage ../applications/window-managers/stalonetray {};
 
-  stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
-    texinfo = texinfo4; # otherwise error: @itemx must follow @item
-    clisp = clisp_2_44_1;
-  };
+  stumpwm = lispPackages.stumpwm;
 
   sublime = callPackage ../applications/editors/sublime { };
 
@@ -8726,10 +8786,10 @@ let
     wrapPython = pythonPackages.wrapPython;
   };
 
-  # This builds the gtk client
-  transmission_260 = callPackage ../applications/networking/p2p/transmission/2.60.nix { };
+  toxic = callPackage ../applications/networking/instant-messengers/toxic { };
 
   transmission = callPackage ../applications/networking/p2p/transmission { };
+  transmission_gtk = transmission.override { enableGTK3 = true; };
 
   transmission_remote_gtk = callPackage ../applications/networking/p2p/transmission-remote-gtk {};
 
@@ -8843,7 +8903,10 @@ let
     graphicsSupport = false;
   };
 
-  weechat = callPackage ../applications/networking/irc/weechat { };
+  weechat = callPackage ../applications/networking/irc/weechat {
+    # weechat crashes on /exit when using gnutls 3.1.x. gnutls 3.2.x works.
+    gnutls = gnutls32;
+  };
 
   weston = callPackage ../applications/window-managers/weston {
     cairo = cairo.override {
@@ -8896,7 +8959,7 @@ let
       enableGnash = cfg.enableGnash or false;
     in
     import ../applications/networking/browsers/firefox/wrapper.nix {
-      inherit stdenv makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon;
+      inherit stdenv lib makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon;
       plugins =
          assert !(enableGnash && enableAdobeFlash);
          ([ ]
@@ -8933,6 +8996,8 @@ let
 
   xbmc = callPackage ../applications/video/xbmc { };
 
+  xca = callPackage ../applications/misc/xca { };
+
   xcalib = callPackage ../tools/X11/xcalib { };
 
   xcape = callPackage ../tools/X11/xcape { };
@@ -9092,7 +9157,17 @@ let
 
   drumkv1 = callPackage ../applications/audio/drumkv1 { };
 
-  dwarf_fortress = callPackage_i686 ../games/dwarf-fortress { };
+  dwarf_fortress = callPackage_i686 ../games/dwarf-fortress {
+    SDL_image = pkgsi686Linux.SDL_image.override {
+      libpng = pkgsi686Linux.libpng12;
+    };
+  };
+
+  dwarf_fortress_modable = appendToName "moddable" (dwarf_fortress.override {
+    copyDataDirectory = true;
+  });
+
+  dwarf-therapist = callPackage ../games/dwarf-therapist { };
 
   d1x_rebirth = callPackage ../games/d1x-rebirth { };
 
@@ -9214,6 +9289,8 @@ let
 
   scorched3d = callPackage ../games/scorched3d { };
 
+  sdlmame = callPackage ../games/sdlmame { };
+
   sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
     inherit pkgconfig fetchsvn perl gtk;
     inherit (xlibs) libX11;
@@ -9363,14 +9440,6 @@ let
 
   kde4 = recurseIntoAttrs pkgs.kde410;
 
-  kde48 = kdePackagesFor (pkgs.kde48 // {
-      boost = boost149;
-      eigen = eigen2;
-      libotr = libotr_3_2;
-      libgphoto2 = libgphoto2_4;
-      libcanberra = libcanberra_kde;
-    }) ../desktops/kde-4.8;
-
   kde410 = kdePackagesFor (pkgs.kde410 // {
       boost = boost149;
       eigen = eigen2;
@@ -9420,6 +9489,8 @@ let
         else
           callPackage ../applications/graphics/digikam { };
 
+      eventlist = callPackage ../applications/office/eventlist {};
+
       k3b = callPackage ../applications/misc/k3b { };
 
       kadu = callPackage ../applications/networking/instant-messengers/kadu { };
@@ -9809,7 +9880,13 @@ let
 
   dbacl = callPackage ../tools/misc/dbacl { };
 
-  dblatex = callPackage ../tools/typesetting/tex/dblatex { };
+  dblatex = callPackage ../tools/typesetting/tex/dblatex {
+    enableAllFeatures = false;
+  };
+
+  dblatexFull = appendToName "full" (dblatex.override {
+    enableAllFeatures = true;
+  });
 
   dosbox = callPackage ../misc/emulators/dosbox { };
 
@@ -9882,13 +9959,10 @@ let
     stateDir = config.nix.stateDir or "/nix/var";
   };
 
-  nixUnstable = nixStable;
-  /*
   nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
     storeDir = config.nix.storeDir or "/nix/store";
     stateDir = config.nix.stateDir or "/nix/var";
   };
-  */
 
   nixops = callPackage ../tools/package-management/nixops { };
 
@@ -9995,11 +10069,14 @@ let
 
   texLive = builderDefsPackage (import ../tools/typesetting/tex/texlive) {
     inherit builderDefs zlib bzip2 ncurses libpng ed lesstif ruby
-      gd t1lib freetype icu perl expat curl xz pkgconfig zziplib
-      libjpeg bison python fontconfig flex poppler silgraphite makeWrapper;
+      gd t1lib freetype icu perl expat curl xz pkgconfig zziplib texinfo
+      libjpeg bison python fontconfig flex poppler graphite2 makeWrapper;
     inherit (xlibs) libXaw libX11 xproto libXt libXpm
       libXmu libXext xextproto libSM libICE;
     ghostscript = ghostscriptX;
+    harfbuzz = harfbuzz.override {
+      inherit icu graphite2;
+    };
   };
 
   texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun {
@@ -10022,7 +10099,7 @@ let
   */
   texLiveAggregationFun = params:
     builderDefsPackage (import ../tools/typesetting/tex/texlive/aggregate.nix)
-      ({inherit poppler makeWrapper;} // params);
+      ({inherit poppler perl makeWrapper;} // params);
 
   texDisser = callPackage ../tools/typesetting/tex/disser {};
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 9ea44e1d6cec..9a7c933fc4dc 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -145,7 +145,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     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;
+    network      = self.network_2_4_2_0;
     OpenGL       = self.OpenGL_2_8_0_0;
     OpenGLRaw    = self.OpenGLRaw_1_4_0_0;
     parallel     = self.parallel_3_2_0_3;
@@ -590,6 +590,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   bindingsDSL = callPackage ../development/libraries/haskell/bindings-DSL {};
 
+  bindingsLibusb = callPackage ../development/libraries/haskell/bindings-libusb {
+    libusb = pkgs.libusb1;
+  };
+
   bindingsPosix = callPackage ../development/libraries/haskell/bindings-posix {};
 
   bitarray = callPackage ../development/libraries/haskell/bitarray {};
@@ -648,7 +652,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix { cabal = self.cabal.override { Cabal = null; }; };
-  Cabal_1_18_1 = callPackage ../development/libraries/haskell/Cabal/1.18.1.nix {
+  Cabal_1_18_1_1 = callPackage ../development/libraries/haskell/Cabal/1.18.1.1.nix {
     cabal = self.cabal.override { Cabal = null; };
     deepseq = self.deepseq_1_3_0_1;
   };
@@ -741,6 +745,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   configurator = callPackage ../development/libraries/haskell/configurator {};
 
+  connection = callPackage ../development/libraries/haskell/connection {};
+
   constraints = callPackage ../development/libraries/haskell/constraints {};
 
   convertible = callPackage ../development/libraries/haskell/convertible {};
@@ -1147,7 +1153,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   haskellSrcExts_1_13_5 = callPackage ../development/libraries/haskell/haskell-src-exts/1.13.5.nix {};
   haskellSrcExts_1_14_0 = callPackage ../development/libraries/haskell/haskell-src-exts/1.14.0.nix {};
-  haskellSrcExts = self.haskellSrcExts_1_13_5;
+  haskellSrcExts = self.haskellSrcExts_1_14_0;
 
   haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {};
 
@@ -1242,7 +1248,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   hsemail = callPackage ../development/libraries/haskell/hsemail {};
 
-  hslua = callPackage ../development/libraries/haskell/hslua {};
+  hslua = callPackage ../development/libraries/haskell/hslua {
+    lua = pkgs.lua5_1;
+  };
 
   HSH = callPackage ../development/libraries/haskell/HSH {};
 
@@ -1397,13 +1405,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   ListZipper = callPackage ../development/libraries/haskell/ListZipper {};
 
-  llvmGeneral_3_3_5 = callPackage ../development/libraries/haskell/llvm-general/3.3.5.nix {
+  llvmGeneral = callPackage ../development/libraries/haskell/llvm-general {
     llvmConfig = pkgs.llvm;
   };
-  llvmGeneral_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general/3.3.8.2.nix {
-    llvmConfig = pkgs.llvm;
-  };
-  llvmGeneral = self.llvmGeneral_3_3_8_2;
 
   llvmGeneralPure = callPackage ../development/libraries/haskell/llvm-general-pure {};
 
@@ -1543,7 +1547,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   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 = self.network_2_4_1_2;
+  network_2_4_2_0 = callPackage ../development/libraries/haskell/network/2.4.2.0.nix {};
+  network = self.network_2_4_2_0;
 
   networkConduit = callPackage ../development/libraries/haskell/network-conduit {};
   networkConduitTls = callPackage ../development/libraries/haskell/network-conduit-tls {};
@@ -2135,6 +2140,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   urlencoded = callPackage ../development/libraries/haskell/urlencoded {};
 
+  usb = callPackage ../development/libraries/haskell/usb {};
+
   utf8Light = callPackage ../development/libraries/haskell/utf8-light {};
 
   utf8String = callPackage ../development/libraries/haskell/utf8-string {};
@@ -2421,9 +2428,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   darcs = callPackage ../applications/version-management/darcs {};
 
-  idris_plain = callPackage ../development/compilers/idris {
-    llvmGeneral = self.llvmGeneral_3_3_5;
-  };
+  idris_plain = callPackage ../development/compilers/idris {};
 
   idris = callPackage ../development/compilers/idris/wrapper.nix {};
 
@@ -2456,7 +2461,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   cabalInstall_0_14_0 = callPackage ../tools/package-management/cabal-install/0.14.0.nix {};
   cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix {};
   cabalInstall_1_18_0_2 = callPackage ../tools/package-management/cabal-install/1.18.0.2.nix {
-    Cabal = self.Cabal_1_18_1;
+    Cabal = self.Cabal_1_18_1_1;
   };
   cabalInstall = self.cabalInstall_1_18_0_2;
 
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index ab15c201d92d..b50f064af0c6 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -1,4 +1,4 @@
-/* Hydra job to build a tarball for Nixpkgs from a SVN checkout.  It
+/* Hydra job to build a tarball for Nixpkgs from a Git checkout.  It
    also builds the documentation and tests whether the Nix expressions
    evaluate correctly. */
 
@@ -6,13 +6,13 @@
 
 with import nixpkgs.outPath {};
 
-releaseTools.sourceTarball {
+releaseTools.sourceTarball rec {
   name = "nixpkgs-tarball";
   src = nixpkgs;
-  inherit officialRelease;
 
-  version = builtins.readFile ../../VERSION;
-  versionSuffix = if officialRelease then "" else "pre${toString nixpkgs.revCount}_${nixpkgs.shortRev}";
+  inherit officialRelease;
+  version = builtins.readFile ../../.version;
+  versionSuffix = "pre${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
 
   buildInputs = [
     lzma
@@ -26,8 +26,8 @@ releaseTools.sourceTarball {
   configurePhase = ''
     eval "$preConfigure"
     releaseName=nixpkgs-$VERSION$VERSION_SUFFIX
+    echo -n $VERSION_SUFFIX > .version-suffix
     echo "release name is $releaseName"
-    echo $releaseName > relname
   '';
 
   dontBuild = false;
@@ -47,7 +47,7 @@ releaseTools.sourceTarball {
     nix-store --init
 
     # Run the regression tests in `lib'.
-    res="$(nix-instantiate --eval-only --strict --show-trace pkgs/lib/tests.nix)"
+    res="$(nix-instantiate --eval-only --strict --show-trace lib/tests.nix)"
     if test "$res" != "[ ]"; then
         echo "regression tests for lib failed, got: $res"
         exit 1
@@ -63,8 +63,7 @@ releaseTools.sourceTarball {
     done
 
     header "checking eval-release.nix"
-    nix-instantiate --eval-only --strict --xml --show-trace ./maintainers/scripts/eval-release.nix > $TMPDIR/out.xml
-    xmllint --noout $TMPDIR/out.xml
+    nix-instantiate --eval-only --strict --show-trace ./maintainers/scripts/eval-release.nix > /dev/null
     stopNest
   '';
 
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index 4cc473fe29a9..52a9f33cafae 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -165,6 +165,23 @@
     passthru.names = [ "almond" ];
   };
   "almond" = self.full."almond"."*";
+  full."ambi"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "ambi-2.1.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ambi/-/ambi-2.1.4.tgz";
+        sha1 = "1c0bafb3b1058754e1c3f9d7383948fc1b7c6926";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ambi"."~2.1.4" or []);
+    deps = [
+      self.full."typechecker"."~2.0.6"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ambi" ];
+  };
   full."amdefine"."*" = lib.makeOverridable self.buildNodePackage {
     name = "amdefine-0.0.8";
     src = [
@@ -297,11 +314,11 @@
     passthru.names = [ "apparatus" ];
   };
   full."archiver"."~0.4.6" = lib.makeOverridable self.buildNodePackage {
-    name = "archiver-0.4.9";
+    name = "archiver-0.4.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/archiver/-/archiver-0.4.9.tgz";
-        sha1 = "7c8a5c8f186497b430698855b1a827af81ce94f1";
+        url = "http://registry.npmjs.org/archiver/-/archiver-0.4.10.tgz";
+        sha1 = "df0feac8f1d1295e5eceb3a205559072d21f4747";
       })
     ];
     buildInputs =
@@ -432,6 +449,22 @@
     ];
     passthru.names = [ "assert-plus" ];
   };
+  full."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "assertion-error-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz";
+        sha1 = "c7f85438fdd466bc7ca16ab90c81513797a5d23b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."assertion-error"."1.0.0" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "assertion-error" ];
+  };
   full."async"."*" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.2.9";
     src = [
@@ -610,11 +643,11 @@
     passthru.names = [ "async" ];
   };
   full."aws-sdk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.6.0";
+    name = "aws-sdk-1.7.1";
     src = [
       (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.6.0.tgz";
-        sha1 = "7541e3057a0a7bf9d749ddf2c10fffc7c24997ed";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.7.1.tgz";
+        sha1 = "802748ea85a6c508b8665bbf22050c879af17695";
       })
     ];
     buildInputs =
@@ -629,11 +662,11 @@
   };
   "aws-sdk" = self.full."aws-sdk"."*";
   full."aws-sdk".">=1.2.0 <2" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.6.0";
+    name = "aws-sdk-1.7.1";
     src = [
       (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.6.0.tgz";
-        sha1 = "7541e3057a0a7bf9d749ddf2c10fffc7c24997ed";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.7.1.tgz";
+        sha1 = "802748ea85a6c508b8665bbf22050c879af17695";
       })
     ];
     buildInputs =
@@ -881,11 +914,11 @@
     passthru.names = [ "boom" ];
   };
   full."bower"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.6";
+    name = "bower-1.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.6.tgz";
-        sha1 = "a8b7bd344601554821957b9ab62fb436febc674d";
+        url = "http://registry.npmjs.org/bower/-/bower-1.2.7.tgz";
+        sha1 = "5b0505c8192bd61a752a7cf8b718d1b3054cd554";
       })
     ];
     buildInputs =
@@ -909,7 +942,7 @@
       self.full."inquirer"."~0.3.0"
       self.full."junk"."~0.2.0"
       self.full."mkdirp"."~0.3.5"
-      self.full."mout"."~0.6.0"
+      self.full."mout"."~0.7.0"
       self.full."nopt"."~2.1.1"
       self.full."lru-cache"."~2.3.0"
       self.full."open"."~0.0.3"
@@ -935,11 +968,11 @@
   };
   "bower" = self.full."bower"."*";
   full."bower".">=0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.6";
+    name = "bower-1.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.6.tgz";
-        sha1 = "a8b7bd344601554821957b9ab62fb436febc674d";
+        url = "http://registry.npmjs.org/bower/-/bower-1.2.7.tgz";
+        sha1 = "5b0505c8192bd61a752a7cf8b718d1b3054cd554";
       })
     ];
     buildInputs =
@@ -963,7 +996,7 @@
       self.full."inquirer"."~0.3.0"
       self.full."junk"."~0.2.0"
       self.full."mkdirp"."~0.3.5"
-      self.full."mout"."~0.6.0"
+      self.full."mout"."~0.7.0"
       self.full."nopt"."~2.1.1"
       self.full."lru-cache"."~2.3.0"
       self.full."open"."~0.0.3"
@@ -1079,11 +1112,11 @@
     passthru.names = [ "bower-logger" ];
   };
   full."bower-registry-client"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-registry-client-0.1.4";
+    name = "bower-registry-client-0.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.4.tgz";
-        sha1 = "334669747ca0b60fdda24b0de1f4c3057429813c";
+        url = "http://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.5.tgz";
+        sha1 = "1c64d70bfca833c95121ffc23da48a54527912d3";
       })
     ];
     buildInputs =
@@ -1345,6 +1378,25 @@
     ];
     passthru.names = [ "cardinal" ];
   };
+  full."chai"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "chai-1.8.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/chai/-/chai-1.8.0.tgz";
+        sha1 = "1f7accbe91e2e71a08d8208b31bbbdc6862699ac";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."chai"."*" or []);
+    deps = [
+      self.full."assertion-error"."1.0.0"
+      self.full."deep-eql"."0.1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "chai" ];
+  };
+  "chai" = self.full."chai"."*";
   full."chainsaw"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "chainsaw-0.1.0";
     src = [
@@ -1453,11 +1505,11 @@
     passthru.names = [ "cheerio" ];
   };
   full."cheerio"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.2";
+    name = "cheerio-0.12.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.2.tgz";
-        sha1 = "d9908e29679e6d1b501c2cfe0e4ada330ea278c7";
+        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
+        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
       })
     ];
     buildInputs =
@@ -1473,11 +1525,11 @@
     passthru.names = [ "cheerio" ];
   };
   full."cheerio"."~0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.2";
+    name = "cheerio-0.12.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.2.tgz";
-        sha1 = "d9908e29679e6d1b501c2cfe0e4ada330ea278c7";
+        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
+        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
       })
     ];
     buildInputs =
@@ -1574,11 +1626,11 @@
     passthru.names = [ "chownr" ];
   };
   full."clean-css"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-1.1.1";
+    name = "clean-css-1.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-1.1.1.tgz";
-        sha1 = "c52afc4ea34c4f10392f0f350eba101ef17a8c51";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-1.1.3.tgz";
+        sha1 = "5442cbf45643e09bdcfae25f2b5d8eb36e168ae1";
       })
     ];
     buildInputs =
@@ -2355,6 +2407,24 @@
     ];
     passthru.names = [ "connect-flash" ];
   };
+  full."connect-jade-static"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-jade-static-0.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.1.1.tgz";
+        sha1 = "11d16fa00aca28cb004e89cd0a7d6b0fa0342cdb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."connect-jade-static"."*" or []);
+    deps = [
+      self.full."jade"."*"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "connect-jade-static" ];
+  };
+  "connect-jade-static" = self.full."connect-jade-static"."*";
   full."connect-mongo"."*" = lib.makeOverridable self.buildNodePackage {
     name = "connect-mongo-0.3.3";
     src = [
@@ -2866,6 +2936,23 @@
     ];
     passthru.names = [ "debug" ];
   };
+  full."deep-eql"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "deep-eql-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.2.tgz";
+        sha1 = "b54feed3473a6448fbc198be6a6eca9b95d9c58a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."deep-eql"."0.1.2" or []);
+    deps = [
+      self.full."type-detect"."0.1.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "deep-eql" ];
+  };
   full."deep-equal"."*" = lib.makeOverridable self.buildNodePackage {
     name = "deep-equal-0.0.0";
     src = [
@@ -2914,37 +3001,37 @@
     ];
     passthru.names = [ "deep-extend" ];
   };
-  full."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "delayed-stream-0.0.5";
+  full."deep-extend"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "deep-extend-0.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.6.tgz";
+        sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250";
       })
     ];
     buildInputs =
-      (self.nativeDeps."delayed-stream"."0.0.5" or []);
+      (self.nativeDeps."deep-extend"."~0.2.6" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "delayed-stream" ];
+    passthru.names = [ "deep-extend" ];
   };
-  full."dequeue"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "dequeue-1.0.3";
+  full."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/dequeue/-/dequeue-1.0.3.tgz";
-        sha1 = "30b8f4da2fc240951a15d31b35283e29b2de8978";
+        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."dequeue"."1.0.3" or []);
+      (self.nativeDeps."delayed-stream"."0.0.5" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "dequeue" ];
+    passthru.names = [ "delayed-stream" ];
   };
   full."di"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "di-0.0.1";
@@ -3669,6 +3756,23 @@
     passthru.names = [ "extend" ];
   };
   "extend" = self.full."extend"."*";
+  full."extract-opts"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "extract-opts-2.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
+        sha1 = "1fa28eba7352c6db480f885ceb71a46810be6d7d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."extract-opts"."~2.2.0" or []);
+    deps = [
+      self.full."typechecker"."~2.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "extract-opts" ];
+  };
   full."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "extsprintf-1.0.0";
     src = [
@@ -3864,6 +3968,23 @@
     ];
     passthru.names = [ "flatiron" ];
   };
+  full."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "follow-redirects-0.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz";
+        sha1 = "6ce67a24db1fe13f226c1171a72a7ef2b17b8f65";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."follow-redirects"."0.0.3" or []);
+    deps = [
+      self.full."underscore"."*"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "follow-redirects" ];
+  };
   full."forEachAsync"."~2.2" = lib.makeOverridable self.buildNodePackage {
     name = "forEachAsync-2.2.0";
     src = [
@@ -3943,18 +4064,18 @@
     passthru.names = [ "forever-agent" ];
   };
   full."forever-monitor"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-monitor-1.2.2";
+    name = "forever-monitor-1.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.2.tgz";
-        sha1 = "c1ad6c6ab837a89fa2d47bb439727ca968235684";
+        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
+        sha1 = "b27ac3acb6fdcc7315d6cd85830f2d004733028b";
       })
     ];
     buildInputs =
       (self.nativeDeps."forever-monitor"."*" or []);
     deps = [
       self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.0.x"
+      self.full."minimatch"."0.2.x"
       self.full."pkginfo"."0.x.x"
       self.full."ps-tree"."0.0.x"
       self.full."watch"."0.5.x"
@@ -4048,11 +4169,11 @@
     passthru.names = [ "form-data" ];
   };
   full."form-data"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "form-data-0.1.1";
+    name = "form-data-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.1.tgz";
-        sha1 = "0d5f2805647b45533ba10bc8a59cf17d1efa5f12";
+        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz";
+        sha1 = "1143c21357911a78dd7913b189b4bab5d5d57445";
       })
     ];
     buildInputs =
@@ -4412,11 +4533,11 @@
     passthru.names = [ "generator-mocha" ];
   };
   full."generator-webapp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-webapp-0.4.2";
+    name = "generator-webapp-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.2.tgz";
-        sha1 = "41a856064a00ad952f9cbca79b176da9ab0aa969";
+        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.3.tgz";
+        sha1 = "c0ad11753e0f4403d1d7fad1b298e52bfa5e231b";
       })
     ];
     buildInputs =
@@ -4432,6 +4553,25 @@
     passthru.names = [ "generator-webapp" ];
   };
   "generator-webapp" = self.full."generator-webapp"."*";
+  full."getmac"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "getmac-1.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.5.tgz";
+        sha1 = "4ce0468a83e5fc2f2d337fc0c3c9be2c94a6344f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."getmac"."~1.0.5" or []);
+    deps = [
+      self.full."extract-opts"."~2.2.0"
+      self.full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0"
+      self.full."joe-reporter-console"."~1.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "getmac" ];
+  };
   full."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "github-url-from-git-1.1.1";
     src = [
@@ -5585,7 +5725,7 @@
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/i18next/-/i18next-1.7.1.tgz";
-        sha1 = "642c920e1b1a49d6212715a3d39ee49bf5129f11";
+        sha1 = "39616a1fe88258edbdd0da918b9ee49a1bd1e124";
       })
     ];
     buildInputs =
@@ -5835,11 +5975,11 @@
     passthru.names = [ "inquirer" ];
   };
   full."inquirer"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.3";
+    name = "inquirer-0.3.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.3.tgz";
-        sha1 = "476dfc4b32c24010f4fdf5479dc59368264f2896";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
+        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
       })
     ];
     buildInputs =
@@ -5855,11 +5995,11 @@
     passthru.names = [ "inquirer" ];
   };
   full."inquirer"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.3";
+    name = "inquirer-0.3.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.3.tgz";
-        sha1 = "476dfc4b32c24010f4fdf5479dc59368264f2896";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
+        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
       })
     ];
     buildInputs =
@@ -5913,11 +6053,11 @@
     passthru.names = [ "intersect" ];
   };
   full."ironhorse"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ironhorse-0.0.8";
+    name = "ironhorse-0.0.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.8.tgz";
-        sha1 = "b0c9c0908e6e22f7a48001be48533f12227c7980";
+        url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.9.tgz";
+        sha1 = "9cfaf75e464a0bf394d511a05c0a8b8de080a1d9";
       })
     ];
     buildInputs =
@@ -5932,7 +6072,7 @@
       self.full."jade"."*"
       self.full."passport"."*"
       self.full."passport-http"."*"
-      self.full."libyaml"."*"
+      self.full."js-yaml"."*"
       self.full."mongoose"."3.6.x"
       self.full."gridfs-stream"."*"
       self.full."temp"."*"
@@ -5977,6 +6117,34 @@
     ];
     passthru.names = [ "isbinaryfile" ];
   };
+  full."istanbul"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "istanbul-0.1.44";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.44.tgz";
+        sha1 = "7ea1d55e34234e7b7d8f2f61cceb29b59439d983";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."istanbul"."*" or []);
+    deps = [
+      self.full."esprima"."1.0.x"
+      self.full."escodegen"."0.0.23"
+      self.full."handlebars"."1.0.x"
+      self.full."mkdirp"."0.3.x"
+      self.full."nopt"."2.1.x"
+      self.full."fileset"."0.1.x"
+      self.full."which"."1.0.x"
+      self.full."async"."0.2.x"
+      self.full."abbrev"."1.0.x"
+      self.full."wordwrap"."0.0.x"
+      self.full."resolve"."0.5.x"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "istanbul" ];
+  };
+  "istanbul" = self.full."istanbul"."*";
   full."istanbul"."~0.1.41" = lib.makeOverridable self.buildNodePackage {
     name = "istanbul-0.1.44";
     src = [
@@ -6087,12 +6255,81 @@
     passthru.names = [ "jayschema" ];
   };
   "jayschema" = self.full."jayschema"."*";
+  full."joe"."1.x" = lib.makeOverridable self.buildNodePackage {
+    name = "joe-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
+        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."joe"."1.x" or []);
+    deps = [
+      self.full."taskgroup"."~3.2.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "joe" ];
+  };
+  full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" = lib.makeOverridable self.buildNodePackage {
+    name = "joe-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
+        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" or []);
+    deps = [
+      self.full."taskgroup"."~3.2.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "joe" ];
+  };
+  full."joe"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "joe-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
+        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."joe"."~1.3.0" or []);
+    deps = [
+      self.full."taskgroup"."~3.2.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "joe" ];
+  };
+  full."joe-reporter-console"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "joe-reporter-console-1.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/joe-reporter-console/-/joe-reporter-console-1.2.1.tgz";
+        sha1 = "6887fa067121b0e67b571672aa63b358055eddc1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."joe-reporter-console"."~1.2.1" or []);
+    deps = [
+      self.full."cli-color"."~0.2.2"
+    ];
+    peerDependencies = [
+      self.full."joe"."1.x"
+    ];
+    passthru.names = [ "joe-reporter-console" ];
+  };
   full."js-yaml"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.1.0";
+    name = "js-yaml-2.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
-        sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.2.tgz";
+        sha1 = "5404d58972f70112763e0b7e97ced20c39138bbd";
       })
     ];
     buildInputs =
@@ -6159,11 +6396,11 @@
     passthru.names = [ "js-yaml" ];
   };
   full."js-yaml"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.1.0";
+    name = "js-yaml-2.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
-        sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.2.tgz";
+        sha1 = "5404d58972f70112763e0b7e97ced20c39138bbd";
       })
     ];
     buildInputs =
@@ -6917,6 +7154,23 @@
     ];
     passthru.names = [ "less" ];
   };
+  full."libxmljs"."~0.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "libxmljs-0.8.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/libxmljs/-/libxmljs-0.8.1.tgz";
+        sha1 = "b8b1d3962a92dbc5be9dc798bac028e09db8d630";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."libxmljs"."~0.8.1" or []);
+    deps = [
+      self.full."bindings"."1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "libxmljs" ];
+  };
   full."libyaml"."*" = lib.makeOverridable self.buildNodePackage {
     name = "libyaml-0.2.2";
     src = [
@@ -7078,6 +7332,473 @@
     ];
     passthru.names = [ "lodash" ];
   };
+  full."lodash._arraypool"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._arraypool-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.2.1.tgz";
+        sha1 = "09c741461dde7a7bc467d826ee50c8b1216427f4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._arraypool"."~2.2.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._arraypool" ];
+  };
+  full."lodash._basecreatecallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._basecreatecallback-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.2.1.tgz";
+        sha1 = "486940419a6f195996cb0f7644af71341c608ce4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._basecreatecallback"."~2.2.1" or []);
+    deps = [
+      self.full."lodash.bind"."~2.2.1"
+      self.full."lodash.identity"."~2.2.1"
+      self.full."lodash._setbinddata"."~2.2.1"
+      self.full."lodash.support"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._basecreatecallback" ];
+  };
+  full."lodash._baseisequal"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._baseisequal-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-2.2.1.tgz";
+        sha1 = "8bd0156ad5c47d927b58d54456329922b24ce0e7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._baseisequal"."~2.2.1" or []);
+    deps = [
+      self.full."lodash.forin"."~2.2.1"
+      self.full."lodash._getarray"."~2.2.1"
+      self.full."lodash.isfunction"."~2.2.1"
+      self.full."lodash._objecttypes"."~2.2.1"
+      self.full."lodash._releasearray"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._baseisequal" ];
+  };
+  full."lodash._createbound"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._createbound-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._createbound/-/lodash._createbound-2.2.1.tgz";
+        sha1 = "27218a40dc73eaf7a1bc90c3f86b0bf79c272ccc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._createbound"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._createobject"."~2.2.1"
+      self.full."lodash.isfunction"."~2.2.1"
+      self.full."lodash.isobject"."~2.2.1"
+      self.full."lodash._renative"."~2.2.1"
+      self.full."lodash._setbinddata"."~2.2.1"
+      self.full."lodash.support"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._createbound" ];
+  };
+  full."lodash._createobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._createobject-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._createobject/-/lodash._createobject-2.2.1.tgz";
+        sha1 = "8c38ad5d83de703537c863330b97059417fbfee9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._createobject"."~2.2.1" or []);
+    deps = [
+      self.full."lodash.isobject"."~2.2.1"
+      self.full."lodash._noop"."~2.2.1"
+      self.full."lodash._renative"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._createobject" ];
+  };
+  full."lodash._getarray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._getarray-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.2.1.tgz";
+        sha1 = "aa5caa269f1649a186811d5be4a78e56e70e9699";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._getarray"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._arraypool"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._getarray" ];
+  };
+  full."lodash._maxpoolsize"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._maxpoolsize-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.2.1.tgz";
+        sha1 = "1e8b6d433271db7c12ec953d49604ea098542fa7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._maxpoolsize"."~2.2.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._maxpoolsize" ];
+  };
+  full."lodash._noop"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._noop-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._noop/-/lodash._noop-2.2.1.tgz";
+        sha1 = "f790734f9f683c9fda8da9f4d8a8000a2201c6e9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._noop"."~2.2.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._noop" ];
+  };
+  full."lodash._objecttypes"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._objecttypes-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.2.1.tgz";
+        sha1 = "c72d42a5dec0b55664f82162ed74c5f3f94942ba";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._objecttypes"."~2.2.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._objecttypes" ];
+  };
+  full."lodash._releasearray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._releasearray-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.2.1.tgz";
+        sha1 = "81626c89e26ce2fbc90a11ce8f6ef26ea15c4b28";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._releasearray"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._arraypool"."~2.2.1"
+      self.full."lodash._maxpoolsize"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._releasearray" ];
+  };
+  full."lodash._renative"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._renative-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._renative/-/lodash._renative-2.2.1.tgz";
+        sha1 = "ab77d711371ebae8ffdcf5c83b576d558d6bb522";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._renative"."~2.2.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._renative" ];
+  };
+  full."lodash._setbinddata"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._setbinddata-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.2.1.tgz";
+        sha1 = "df1d5228229c71e28185aae4f828f3b5e78f0904";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._setbinddata"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._noop"."~2.2.1"
+      self.full."lodash._renative"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._setbinddata" ];
+  };
+  full."lodash._shimkeys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._shimkeys-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.2.1.tgz";
+        sha1 = "ed4e4b5d61214b2685400b185a59fabf59343455";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._shimkeys"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._objecttypes"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._shimkeys" ];
+  };
+  full."lodash.bind"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.bind-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.bind/-/lodash.bind-2.2.1.tgz";
+        sha1 = "4c24fe00b4c6fa277e4058d353edcf399b3755c2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.bind"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._createbound"."~2.2.1"
+      self.full."lodash._renative"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.bind" ];
+  };
+  full."lodash.createcallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.createcallback-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.createcallback/-/lodash.createcallback-2.2.1.tgz";
+        sha1 = "bb5291c473202a391c1a495a0806bf4b1d1842d2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.createcallback"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._basecreatecallback"."~2.2.1"
+      self.full."lodash._baseisequal"."~2.2.1"
+      self.full."lodash.isobject"."~2.2.1"
+      self.full."lodash.keys"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.createcallback" ];
+  };
+  full."lodash.debounce"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.debounce-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
+        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.debounce"."~2.2.0" or []);
+    deps = [
+      self.full."lodash.isfunction"."~2.2.1"
+      self.full."lodash.isobject"."~2.2.1"
+      self.full."lodash._renative"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.debounce" ];
+  };
+  full."lodash.debounce"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.debounce-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
+        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.debounce"."~2.2.1" or []);
+    deps = [
+      self.full."lodash.isfunction"."~2.2.1"
+      self.full."lodash.isobject"."~2.2.1"
+      self.full."lodash._renative"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.debounce" ];
+  };
+  full."lodash.find"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.find-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.find/-/lodash.find-2.2.1.tgz";
+        sha1 = "768cc2149a589d2fd7b7203c6abe34bcb724d01a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.find"."~2.2.0" or []);
+    deps = [
+      self.full."lodash.createcallback"."~2.2.1"
+      self.full."lodash.forown"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.find" ];
+  };
+  full."lodash.forin"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.forin-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.forin/-/lodash.forin-2.2.1.tgz";
+        sha1 = "d96a47f547002f322dcdc533b0f9e914cba7d050";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.forin"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._basecreatecallback"."~2.2.1"
+      self.full."lodash._objecttypes"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.forin" ];
+  };
+  full."lodash.forown"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.forown-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.forown/-/lodash.forown-2.2.1.tgz";
+        sha1 = "77ee0877c135b603dafe8f2d9ceff215b16458ea";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.forown"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._basecreatecallback"."~2.2.1"
+      self.full."lodash.keys"."~2.2.1"
+      self.full."lodash._objecttypes"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.forown" ];
+  };
+  full."lodash.identity"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.identity-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.identity/-/lodash.identity-2.2.1.tgz";
+        sha1 = "63518772143d450a772511f6671e23038c67bcae";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.identity"."~2.2.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.identity" ];
+  };
+  full."lodash.isfunction"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.isfunction-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.2.1.tgz";
+        sha1 = "fcfa79b7b2c072b320468ecdc0244bbbac5e49c0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.isfunction"."~2.2.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.isfunction" ];
+  };
+  full."lodash.isobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.isobject-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.2.1.tgz";
+        sha1 = "cbce101e3e3b718cb51b1113e4597d6e8e038831";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.isobject"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._objecttypes"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.isobject" ];
+  };
+  full."lodash.keys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.keys-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.2.1.tgz";
+        sha1 = "f372597e6f411d7537e32ba0efc85b5f874d5cca";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.keys"."~2.2.1" or []);
+    deps = [
+      self.full."lodash.isobject"."~2.2.1"
+      self.full."lodash._renative"."~2.2.1"
+      self.full."lodash._shimkeys"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.keys" ];
+  };
+  full."lodash.support"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.support-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.support/-/lodash.support-2.2.1.tgz";
+        sha1 = "5b6c267c6fc5302011f0c14e4529c7fbc08e94ce";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.support"."~2.2.1" or []);
+    deps = [
+      self.full."lodash._renative"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.support" ];
+  };
+  full."lodash.throttle"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.throttle-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.throttle/-/lodash.throttle-2.2.1.tgz";
+        sha1 = "ae49bd6173b0cfb4e09d9645fdac507db77211f0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.throttle"."~2.2.0" or []);
+    deps = [
+      self.full."lodash.debounce"."~2.2.1"
+      self.full."lodash.isfunction"."~2.2.1"
+      self.full."lodash.isobject"."~2.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.throttle" ];
+  };
   full."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "log-driver-1.2.1";
     src = [
@@ -7095,18 +7816,17 @@
     passthru.names = [ "log-driver" ];
   };
   full."log4js"."~0.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "log4js-0.6.8";
+    name = "log4js-0.6.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.8.tgz";
-        sha1 = "86baebdcaf8ef989295d65a07773f7e32093d0b6";
+        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.9.tgz";
+        sha1 = "2e327189c1c0dec17448ec5255f58cd0fddf4596";
       })
     ];
     buildInputs =
       (self.nativeDeps."log4js"."~0.6.3" or []);
     deps = [
       self.full."async"."0.1.15"
-      self.full."dequeue"."1.0.3"
       self.full."semver"."~1.1.4"
       self.full."readable-stream"."~1.0.2"
     ];
@@ -7227,11 +7947,11 @@
     passthru.names = [ "lru-cache" ];
   };
   full."mailcomposer".">= 0.1.27" = lib.makeOverridable self.buildNodePackage {
-    name = "mailcomposer-0.2.1";
+    name = "mailcomposer-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.1.tgz";
-        sha1 = "89e1326147fb2c222feb931b40e98b6be133f14a";
+        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.2.tgz";
+        sha1 = "ce93bdea7cb51e60eb76491b6a64c39f382c20e5";
       })
     ];
     buildInputs =
@@ -7458,11 +8178,11 @@
     passthru.names = [ "mime" ];
   };
   full."mimelib"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mimelib-0.2.12";
+    name = "mimelib-0.2.13";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.12.tgz";
-        sha1 = "5dcbb99c7369e5d62d7e12e71fa334179aebd748";
+        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.13.tgz";
+        sha1 = "0668eb85e870c510be747a67ece43b9bbf8e20b0";
       })
     ];
     buildInputs =
@@ -7510,6 +8230,24 @@
     ];
     passthru.names = [ "minimatch" ];
   };
+  full."minimatch"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+    name = "minimatch-0.2.12";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
+        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimatch"."0.2.x" or []);
+    deps = [
+      self.full."lru-cache"."2"
+      self.full."sigmund"."~1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimatch" ];
+  };
   full."minimatch"."0.x" = lib.makeOverridable self.buildNodePackage {
     name = "minimatch-0.2.12";
     src = [
@@ -7889,6 +8627,23 @@
     passthru.names = [ "mocha" ];
   };
   "mocha" = self.full."mocha"."*";
+  full."mocha-unfunk-reporter"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-unfunk-reporter-0.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.2.3.tgz";
+        sha1 = "41c2aa001dc44eef80d073404728d2e4d4a09c90";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mocha-unfunk-reporter"."*" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mocha-unfunk-reporter" ];
+  };
+  "mocha-unfunk-reporter" = self.full."mocha-unfunk-reporter"."*";
   full."moment"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "moment-2.0.0";
     src = [
@@ -7993,11 +8748,11 @@
     passthru.names = [ "mongodb" ];
   };
   full."mongoose"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-3.7.3";
+    name = "mongoose-3.7.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.7.3.tgz";
-        sha1 = "32c707bd919db3ae534326042be0b9ef9ee7ff57";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.7.4.tgz";
+        sha1 = "5ed8cdbc91c92b18ab49ac3526c7ac5264c7b292";
       })
     ];
     buildInputs =
@@ -8011,7 +8766,7 @@
       self.full."mpromise"."0.3.0"
       self.full."mpath"."0.1.1"
       self.full."regexp-clone"."0.0.1"
-      self.full."mquery"."0.3.1"
+      self.full."mquery"."0.3.2"
     ];
     peerDependencies = [
     ];
@@ -8082,11 +8837,11 @@
     passthru.names = [ "mongoose-lifecycle" ];
   };
   full."mongoose-schema-extend"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-schema-extend-0.1.4";
+    name = "mongoose-schema-extend-0.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.4.tgz";
-        sha1 = "9f61b2abba5352fcd3d7b1193ee4b4d9f2a83804";
+        url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.5.tgz";
+        sha1 = "d2ab3d2005033daaa215a806bbd3f6637c9c96c3";
       })
     ];
     buildInputs =
@@ -8132,6 +8887,22 @@
     ];
     passthru.names = [ "mout" ];
   };
+  full."mout"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mout-0.7.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mout/-/mout-0.7.1.tgz";
+        sha1 = "218de2b0880b220d99f4fbaee3fc0c3a5310bda8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mout"."~0.7.0" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mout" ];
+  };
   full."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "mpath-0.1.1";
     src = [
@@ -8182,16 +8953,16 @@
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mquery"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mquery-0.3.1";
+  full."mquery"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "mquery-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mquery/-/mquery-0.3.1.tgz";
-        sha1 = "b67051685b3ec71c9dc6d0ca41385297325c4c45";
+        url = "http://registry.npmjs.org/mquery/-/mquery-0.3.2.tgz";
+        sha1 = "074cb82c51ec1b15897d8afb80a7b3567a2f8eca";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mquery"."0.3.1" or []);
+      (self.nativeDeps."mquery"."0.3.2" or []);
     deps = [
       self.full."sliced"."0.0.5"
       self.full."debug"."0.7.0"
@@ -8919,11 +9690,11 @@
     passthru.names = [ "nopt" ];
   };
   full."normalize-package-data"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "normalize-package-data-0.2.4";
+    name = "normalize-package-data-0.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.4.tgz";
-        sha1 = "75e20353f342759e0fa8790c87d9935e7563e528";
+        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.6.tgz";
+        sha1 = "830bda1412f7ccae09b903fc080edbcdbb0947c0";
       })
     ];
     buildInputs =
@@ -9748,6 +10519,23 @@
     ];
     passthru.names = [ "over" ];
   };
+  full."owl-deepcopy"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "owl-deepcopy-0.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz";
+        sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."owl-deepcopy"."*" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "owl-deepcopy" ];
+  };
+  "owl-deepcopy" = self.full."owl-deepcopy"."*";
   full."owl-deepcopy"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "owl-deepcopy-0.0.2";
     src = [
@@ -9910,11 +10698,11 @@
     passthru.names = [ "pause" ];
   };
   full."phantomjs"."~1.9" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.2-1";
+    name = "phantomjs-1.9.2-2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-1.tgz";
-        sha1 = "698d3fab823320a32516c27a1055c36e8ee25df3";
+        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-2.tgz";
+        sha1 = "256228800bc18292395eb0f54b14cd42c8093889";
       })
     ];
     buildInputs =
@@ -9932,6 +10720,29 @@
     ];
     passthru.names = [ "phantomjs" ];
   };
+  full."phantomjs"."~1.9.1-2" = lib.makeOverridable self.buildNodePackage {
+    name = "phantomjs-1.9.2-2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-2.tgz";
+        sha1 = "256228800bc18292395eb0f54b14cd42c8093889";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."phantomjs"."~1.9.1-2" or []);
+    deps = [
+      self.full."adm-zip"."0.2.1"
+      self.full."kew"."~0.1.7"
+      self.full."ncp"."0.4.2"
+      self.full."npmconf"."0.0.24"
+      self.full."mkdirp"."0.3.5"
+      self.full."rimraf"."~2.0.2"
+      self.full."which"."~1.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "phantomjs" ];
+  };
   full."pkginfo"."0.2.x" = lib.makeOverridable self.buildNodePackage {
     name = "pkginfo-0.2.3";
     src = [
@@ -9996,6 +10807,24 @@
     ];
     passthru.names = [ "pkginfo" ];
   };
+  full."plist-native"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "plist-native-0.2.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/plist-native/-/plist-native-0.2.2.tgz";
+        sha1 = "6abde856b07a52f0d6bc027f7750f4d97ff93858";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."plist-native"."*" or []);
+    deps = [
+      self.full."libxmljs"."~0.8.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "plist-native" ];
+  };
+  "plist-native" = self.full."plist-native"."*";
   full."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "policyfile-0.0.4";
     src = [
@@ -10700,11 +11529,11 @@
     passthru.names = [ "redeyed" ];
   };
   full."redis"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.8.4";
+    name = "redis-0.8.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.8.4.tgz";
-        sha1 = "14609f26414e211c31e3cd07dc79b04bf9ff1980";
+        url = "http://registry.npmjs.org/redis/-/redis-0.8.6.tgz";
+        sha1 = "a7ae8f0d6fad24bdeaffe28158d6cd1f1c9d30b8";
       })
     ];
     buildInputs =
@@ -10750,11 +11579,11 @@
     passthru.names = [ "redis" ];
   };
   full."redis".">= 0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.8.4";
+    name = "redis-0.8.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.8.4.tgz";
-        sha1 = "14609f26414e211c31e3cd07dc79b04bf9ff1980";
+        url = "http://registry.npmjs.org/redis/-/redis-0.8.6.tgz";
+        sha1 = "a7ae8f0d6fad24bdeaffe28158d6cd1f1c9d30b8";
       })
     ];
     buildInputs =
@@ -11536,6 +12365,23 @@
     ];
     passthru.names = [ "sax" ];
   };
+  full."selenium-webdriver"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "selenium-webdriver-2.35.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.35.2.tgz";
+        sha1 = "e6bbb6ff26ea61224173caa006a8eb87d6a94c2d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."selenium-webdriver"."*" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "selenium-webdriver" ];
+  };
+  "selenium-webdriver" = self.full."selenium-webdriver"."*";
   full."semver"."*" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.1.0";
     src = [
@@ -12169,11 +13015,11 @@
     passthru.names = [ "slide" ];
   };
   full."smartdc"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "smartdc-7.1.0";
+    name = "smartdc-7.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/smartdc/-/smartdc-7.1.0.tgz";
-        sha1 = "8c6e5ac34501d6997dcf0e1c49aff4655053ad0f";
+        url = "http://registry.npmjs.org/smartdc/-/smartdc-7.1.1.tgz";
+        sha1 = "acc4378e0967b43dd8ded8c67f99e6508277bfb9";
       })
     ];
     buildInputs =
@@ -12185,23 +13031,23 @@
       self.full."restify"."2.4.1"
       self.full."bunyan"."0.21.1"
       self.full."clone"."0.1.6"
-      self.full."smartdc-auth"."1.0.0"
+      self.full."smartdc-auth"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "smartdc" ];
   };
   "smartdc" = self.full."smartdc"."*";
-  full."smartdc-auth"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "smartdc-auth-1.0.0";
+  full."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "smartdc-auth-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.0.tgz";
-        sha1 = "9b8569b914f25da53816fe158f80b6571470f270";
+        url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.1.tgz";
+        sha1 = "520bbf918313bdf2da372927d33756d46356b87b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc-auth"."1.0.0" or []);
+      (self.nativeDeps."smartdc-auth"."1.0.1" or []);
     deps = [
       self.full."assert-plus"."0.1.2"
       self.full."clone"."0.1.5"
@@ -12387,11 +13233,11 @@
   };
   "sockjs" = self.full."sockjs"."*";
   full."source-map"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.29";
+    name = "source-map-0.1.30";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.29.tgz";
-        sha1 = "39d571a0988fb7a548a676c4de72db78914d173c";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
+        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
       })
     ];
     buildInputs =
@@ -12405,11 +13251,11 @@
   };
   "source-map" = self.full."source-map"."*";
   full."source-map".">= 0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.29";
+    name = "source-map-0.1.30";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.29.tgz";
-        sha1 = "39d571a0988fb7a548a676c4de72db78914d173c";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
+        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
       })
     ];
     buildInputs =
@@ -12422,11 +13268,11 @@
     passthru.names = [ "source-map" ];
   };
   full."source-map"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.29";
+    name = "source-map-0.1.30";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.29.tgz";
-        sha1 = "39d571a0988fb7a548a676c4de72db78914d173c";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
+        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
       })
     ];
     buildInputs =
@@ -12897,6 +13743,23 @@
     ];
     passthru.names = [ "tar" ];
   };
+  full."taskgroup"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "taskgroup-3.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/taskgroup/-/taskgroup-3.2.3.tgz";
+        sha1 = "5bbfa9fb0312f04251140f2f858f8f4ee0086958";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."taskgroup"."~3.2.0" or []);
+    deps = [
+      self.full."ambi"."~2.1.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "taskgroup" ];
+  };
   full."temp"."*" = lib.makeOverridable self.buildNodePackage {
     name = "temp-0.6.0";
     src = [
@@ -13114,6 +13977,54 @@
     ];
     passthru.names = [ "tunnel-agent" ];
   };
+  full."type-detect"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "type-detect-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/type-detect/-/type-detect-0.1.0.tgz";
+        sha1 = "81ed3ab764cd5139388b67d052eb01610edc1a57";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."type-detect"."0.1.0" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "type-detect" ];
+  };
+  full."typechecker"."~2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "typechecker-2.0.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
+        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."typechecker"."~2.0.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "typechecker" ];
+  };
+  full."typechecker"."~2.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "typechecker-2.0.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
+        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."typechecker"."~2.0.6" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "typechecker" ];
+  };
   full."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-1.2.5";
     src = [
@@ -13272,22 +14183,6 @@
     passthru.names = [ "underscore" ];
   };
   "underscore" = self.full."underscore"."*";
-  full."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."1.4.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
   full."underscore"."1.4.x" = lib.makeOverridable self.buildNodePackage {
     name = "underscore-1.4.4";
     src = [
@@ -13433,11 +14328,11 @@
     passthru.names = [ "underscore.string" ];
   };
   full."ungit"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.2.1";
+    name = "ungit-0.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.2.1.tgz";
-        sha1 = "1aa4af1cbe881e6200fbd1726fc66341c3595f01";
+        url = "http://registry.npmjs.org/ungit/-/ungit-0.3.1.tgz";
+        sha1 = "9541d6ba8545ea4a914cf05a413890da61bdd7ff";
       })
     ];
     buildInputs =
@@ -13445,7 +14340,9 @@
     deps = [
       self.full."express"."3.2.6"
       self.full."superagent"."0.14.7"
-      self.full."underscore"."1.4.4"
+      self.full."lodash.debounce"."~2.2.0"
+      self.full."lodash.find"."~2.2.0"
+      self.full."lodash.throttle"."~2.2.0"
       self.full."temp"."0.6.0"
       self.full."socket.io"."0.9.16"
       self.full."moment"."2.0.0"
@@ -13467,6 +14364,8 @@
       self.full."blueimp-md5"."~1.0.3"
       self.full."color"."~0.4.4"
       self.full."keen.io"."0.0.3"
+      self.full."getmac"."~1.0.5"
+      self.full."deep-extend"."~0.2.6"
     ];
     peerDependencies = [
     ];
@@ -13496,11 +14395,11 @@
     passthru.names = [ "unzip" ];
   };
   full."update-notifier"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "update-notifier-0.1.5";
+    name = "update-notifier-0.1.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.5.tgz";
-        sha1 = "adf98004c29bf521f242c2970c471f310b353b44";
+        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.6.tgz";
+        sha1 = "c814e7eabaadaba789f75c3f652366db8efec471";
       })
     ];
     buildInputs =
@@ -13755,11 +14654,11 @@
     passthru.names = [ "verror" ];
   };
   full."view-helpers"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "view-helpers-0.1.2";
+    name = "view-helpers-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.2.tgz";
-        sha1 = "20643e9f50d00cf46da754dc934d791d4f6e3bb2";
+        url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.3.tgz";
+        sha1 = "97b061548a753eff5b432e6c1598cb10417bff02";
       })
     ];
     buildInputs =
@@ -13861,6 +14760,30 @@
     ];
     passthru.names = [ "wd" ];
   };
+  full."webdrvr"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "webdrvr-2.35.0-6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.35.0-6.tgz";
+        sha1 = "1dffadb2960c82c7b9baba6512cd6f35f6e8d706";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."webdrvr"."*" or []);
+    deps = [
+      self.full."adm-zip"."~0.4.3"
+      self.full."kew"."~0.1.7"
+      self.full."mkdirp"."~0.3.5"
+      self.full."npmconf"."~0.1.2"
+      self.full."phantomjs"."~1.9.1-2"
+      self.full."tmp"."~0.0.20"
+      self.full."follow-redirects"."0.0.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "webdrvr" ];
+  };
+  "webdrvr" = self.full."webdrvr"."*";
   full."websocket-driver".">=0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "websocket-driver-0.3.0";
     src = [
@@ -14154,6 +15077,23 @@
     passthru.names = [ "wu" ];
   };
   "wu" = self.full."wu"."*";
+  full."x509"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "x509-0.0.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/x509/-/x509-0.0.6.tgz";
+        sha1 = "b58747854ff33df7ff8f1653756bff6a32a8c838";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."x509"."*" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "x509" ];
+  };
+  "x509" = self.full."x509"."*";
   full."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "xml2js-0.2.4";
     src = [
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index b559b56376ef..3e16f4e3df41 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -97,4 +97,13 @@
 , "coveralls"
 , "js-yaml"
 , "node-inspector"
+, "istanbul"
+, "mocha-unfunk-reporter"
+, "chai"
+, "selenium-webdriver"
+, "webdrvr"
+, "connect-jade-static"
+, "plist-native"
+, "x509"
+, "owl-deepcopy"
 ]
diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix
index fe75ea4098a5..e7308e2b8164 100644
--- a/pkgs/top-level/python-packages-generated.nix
+++ b/pkgs/top-level/python-packages-generated.nix
@@ -87,21 +87,21 @@ in
   };
 
 
-  "collective.z3cform.datetimewidget-1.2.5" = self.buildPythonPackage {
-    name = "collective.z3cform.datetimewidget-1.2.5";
+  "plone.app.contentlisting-1.0.5" = self.buildPythonPackage {
+    name = "plone.app.contentlisting-1.0.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/c/collective.z3cform.datetimewidget/collective.z3cform.datetimewidget-1.2.5.zip";
-        md5 = "38fa463ea9b0b3cf5f61540250968214";
+        url = "https://pypi.python.org/packages/source/p/plone.app.contentlisting/plone.app.contentlisting-1.0.5.zip";
+        md5 = "9fc15b8ecad1c918778c3ea9a75bf533";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."z3c.form-3.0.2" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" ];
+    propagatedBuildInputs = [ self."plone.uuid-1.0.3" self.setuptools ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        z3c.form date and datetime widgets
+        Listing of content for the Plone CMS
         '';
-      homepage = "https://github.com/collective/collective.z3cform.datetimewidget";
+      homepage = "http://pypi.python.org/pypi/plone.app.contentlisting";
       license = "GPL version 2";
     };
   };
@@ -147,22 +147,22 @@ in
   };
 
 
-  "plone.app.caching-1.1.6" = self.buildPythonPackage {
-    name = "plone.app.caching-1.1.6";
+  "plone.z3cform-0.8.0" = self.buildPythonPackage {
+    name = "plone.z3cform-0.8.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.caching/plone.app.caching-1.1.6.zip";
-        md5 = "52f817d67e6da1508bf6f1486e5466d2";
+        url = "https://pypi.python.org/packages/source/p/plone.z3cform/plone.z3cform-0.8.0.zip";
+        md5 = "bdb23dd162544964d2f8f8f5f002e874";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.registry-1.2.3" self."plone.app.z3cform-0.7.4" self."plone.cachepurging-1.0.4" self."plone.caching-1.0" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self."python-dateutil-1.5" self.setuptools self."z3c.form-3.0.2" self."z3c.zcmlhook-1.0b1" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."plone.batching-1.0" self.setuptools self."z3c.form-3.0.2" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Plone UI and default rules for plone.caching/z3c.caching
+        plone.z3cform is a library that allows use of z3c.form with Zope 2 and the CMF.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.caching";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/plone.z3cform";
+      license = "ZPL 2.1";
     };
   };
 
@@ -216,7 +216,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.proxy-3.6.1" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         zope.deferredimport allows you to perform imports names that will only be resolved when used in the code.
@@ -267,11 +267,11 @@ in
   };
 
 
-  "coverage-3.6" = self.buildPythonPackage {
-    name = "coverage-3.6";
+  "coverage-3.7" = self.buildPythonPackage {
+    name = "coverage-3.7";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/c/coverage/coverage-3.6.tar.gz";
-        md5 = "67d4e393f4c6a5ffc18605409d2aa1ac";
+        url = "https://pypi.python.org/packages/source/c/coverage/coverage-3.7.tar.gz";
+        md5 = "055d82e6849d882ec6cf2ae1faca8e56";
     };
     doCheck = true;
     buildInputs = [  ];
@@ -287,26 +287,6 @@ in
   };
 
 
-  "plone.app.textfield-1.2.2" = self.buildPythonPackage {
-    name = "plone.app.textfield-1.2.2";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.textfield/plone.app.textfield-1.2.2.zip";
-        md5 = "f832887a40826d6f68c48b48f071fb9c";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Text field with MIME type support
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.app.textfield";
-      license = "GPL";
-    };
-  };
-
-
   "Products.CMFUid-2.2.1" = self.buildPythonPackage {
     name = "Products.CMFUid-2.2.1";
     src = fetchurl {
@@ -387,26 +367,6 @@ in
   };
 
 
-  "Products.GenericSetup-1.7.4" = self.buildPythonPackage {
-    name = "Products.GenericSetup-1.7.4";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.GenericSetup/Products.GenericSetup-1.7.4.tar.gz";
-        md5 = "f93251ed519e8c4aea0bc001416027b1";
-    };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self.setuptools self."zope.formlib-4.0.6" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Read Zope configuration state from profile dirs / tarballs
-        '';
-      homepage = "http://pypi.python.org/pypi/Products.GenericSetup";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
-    };
-  };
-
-
   "plone.app.redirector-1.2" = self.buildPythonPackage {
     name = "plone.app.redirector-1.2";
     src = fetchurl {
@@ -476,7 +436,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self."mechanize-0.2.5" self."pytz-2013b" self.setuptools self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Programmable browser for functional black-box tests
@@ -516,7 +476,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.security__untrustedpython-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Local registries for zope component architecture
@@ -547,26 +507,6 @@ in
   };
 
 
-  "mechanize-0.2.5" = self.buildPythonPackage {
-    name = "mechanize-0.2.5";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/m/mechanize/mechanize-0.2.5.tar.gz";
-        md5 = "32657f139fc2fb75bcf193b63b8c60b2";
-    };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Stateful programmatic web browsing.
-        '';
-      homepage = "http://wwwsearch.sourceforge.net/mechanize/";
-      license = "BSD";
-    };
-  };
-
-
   "Products.PlacelessTranslationService-2.0.4" = self.buildPythonPackage {
     name = "Products.PlacelessTranslationService-2.0.4";
     src = fetchurl {
@@ -624,7 +564,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Structured Configuration Library
@@ -744,7 +684,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Generic Transparent Proxies
@@ -864,7 +804,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self."ExtensionClass-2.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Special MultiMapping objects used in Zope2.
@@ -915,22 +855,24 @@ in
   };
 
 
-  "plone.indexer-1.0.2" = self.buildPythonPackage {
-    name = "plone.indexer-1.0.2";
+  "plone.recipe.zope2instance" = self."plone.recipe.zope2instance-4.2.13";
+
+  "plone.recipe.zope2instance-4.2.13" = self.buildPythonPackage {
+    name = "plone.recipe.zope2instance-4.2.13";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.indexer/plone.indexer-1.0.2.zip";
-        md5 = "538aeee1f9db78bc8c85ae1bcb0153ed";
+        url = "https://pypi.python.org/packages/source/p/plone.recipe.zope2instance/plone.recipe.zope2instance-4.2.13.zip";
+        md5 = "1ff990a15e77a92a7339b5092bfb9cc3";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    propagatedBuildInputs = [ self."mailinglogger-3.7.0" self.setuptools self."zc.buildout-1.7.1" self."zc.recipe.egg-1.3.2" self."ZODB3-3.10.5" self."Zope2-2.13.21" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Hooks to facilitate managing custom index values in Zope 2/CMF applications
+        Buildout recipe for creating a Zope 2 instance
         '';
-      homepage = "http://pypi.python.org/pypi/plone.indexer";
-      license = "BSD";
+      homepage = "http://pypi.python.org/pypi/plone.recipe.zope2instance";
+      license = "ZPL 2.1";
     };
   };
 
@@ -1044,7 +986,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope process lifetime events
@@ -1115,22 +1057,22 @@ in
   };
 
 
-  "tempstorage-2.12.2" = self.buildPythonPackage {
-    name = "tempstorage-2.12.2";
+  "plone.stringinterp-1.0.10" = self.buildPythonPackage {
+    name = "plone.stringinterp-1.0.10";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/t/tempstorage/tempstorage-2.12.2.zip";
-        md5 = "7a2b76b39839e229249b1bb175604480";
+        url = "https://pypi.python.org/packages/source/p/plone.stringinterp/plone.stringinterp-1.0.10.zip";
+        md5 = "595074e94944ad6860e2105a020a3b9a";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.testing-3.9.7" ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.i18n__zcml-3.7.4" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        A RAM-based storage for ZODB
+        Adaptable string interpolation
         '';
-      homepage = "http://pypi.python.org/pypi/tempstorage";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.stringinterp";
+      license = "GPL version 2";
     };
   };
 
@@ -1184,7 +1126,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Sequence Sorting
@@ -1215,6 +1157,26 @@ in
   };
 
 
+  "plone.resourceeditor-1.0" = self.buildPythonPackage {
+    name = "plone.resourceeditor-1.0";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.resourceeditor/plone.resourceeditor-1.0.zip";
+        md5 = "443ff0a0ad83b94fc08cac46ee3b2ad4";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."plone.resource-1.0.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        UNKNOWN
+        '';
+      homepage = "https://github.com/plone/plone.resourceeditor";
+      license = "GPL";
+    };
+  };
+
+
   "zope.app.publication-3.12.0" = self.buildPythonPackage {
     name = "zope.app.publication-3.12.0";
     src = fetchurl {
@@ -1244,7 +1206,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.event-3.5.2" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         zope.interface extension for defining data schemas
@@ -1335,22 +1297,22 @@ in
   };
 
 
-  "Persistence-2.13.2" = self.buildPythonPackage {
-    name = "Persistence-2.13.2";
+  "plone.dexterity-2.1.3" = self.buildPythonPackage {
+    name = "plone.dexterity-2.1.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Persistence/Persistence-2.13.2.zip";
-        md5 = "92693648ccdc59c8fc71f7f06b1d228c";
+        url = "https://pypi.python.org/packages/source/p/plone.dexterity/plone.dexterity-2.1.3.zip";
+        md5 = "7f6444a2c26488e4068217266fd243b7";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."ZODB3-3.10.5" ];
+    propagatedBuildInputs = [ self."plone.alterego-1.0" self."plone.autoform-1.5" self."plone.behavior-1.0.2" self."plone.folder-1.0.4" self."plone.memoize-1.1.1" self."plone.rfc822-1.1" self."plone.supermodel-1.2.3" self."plone.synchronize-1.0.1" self."plone.uuid-1.0.3" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.dottedname-3.4.6" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.size-3.4.1" self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Persistent ExtensionClass
+        Flexible CMF content
         '';
-      homepage = "http://pypi.python.org/pypi/Persistence";
-      license = "ZPL 2.1";
+      homepage = "http://code.google.com/p/dexterity";
+      license = "GPL version 2";
     };
   };
 
@@ -1408,7 +1370,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Basic inter-process locks
@@ -1428,7 +1390,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" self."zope.tal-3.5.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Template Application Language Expression Syntax (TALES)
@@ -1448,7 +1410,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self."pytz-2013b" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         This package provides a DateTime data type, as known from Zope 2.Unless you need to communicate with Zope 2 APIs, you're probablybetter off using Python's built-in datetime module.
@@ -1488,7 +1450,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         World timezone definitions, modern and historical
@@ -1508,7 +1470,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Configuration Markup Language (ZCML)
@@ -1519,26 +1481,6 @@ in
   };
 
 
-  "Missing-2.13.1" = self.buildPythonPackage {
-    name = "Missing-2.13.1";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/M/Missing/Missing-2.13.1.zip";
-        md5 = "9823cff54444cbbcaef8fc45d8e42572";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Special Missing objects used in Zope2.
-        '';
-      homepage = "http://pypi.python.org/pypi/Missing";
-      license = "ZPL 2.1";
-    };
-  };
-
-
   "plone.app.iterate-2.1.10" = self.buildPythonPackage {
     name = "plone.app.iterate-2.1.10";
     src = fetchurl {
@@ -1599,6 +1541,26 @@ in
   };
 
 
+  "zope.broken-3.6.0" = self.buildPythonPackage {
+    name = "zope.broken-3.6.0";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/z/zope.broken/zope.broken-3.6.0.zip";
+        md5 = "eff24d7918099a3e899ee63a9c31bee6";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Zope Broken Object Interfaces
+        '';
+      homepage = "http://pypi.python.org/pypi/zope.broken";
+      license = "ZPL 2.1";
+    };
+  };
+
+
   "lxml-3.2.3" = self.buildPythonPackage {
     name = "lxml-3.2.3";
     src = fetchurl {
@@ -1668,7 +1630,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.browserresource-3.10.3" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.security__untrustedpython-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Page template resource plugin for zope.browserresource
@@ -1688,7 +1650,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Docutils -- Python Documentation Utilities
@@ -1699,11 +1661,11 @@ in
   };
 
 
-  "beautifulsoup4-4.3.1" = self.buildPythonPackage {
-    name = "beautifulsoup4-4.3.1";
+  "beautifulsoup4-4.3.2" = self.buildPythonPackage {
+    name = "beautifulsoup4-4.3.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/b/beautifulsoup4/beautifulsoup4-4.3.1.tar.gz";
-        md5 = "508095f2784c64114e06856edc1dafed";
+        url = "https://pypi.python.org/packages/source/b/beautifulsoup4/beautifulsoup4-4.3.2.tar.gz";
+        md5 = "b8d157a204d56512a4cc196e53e7d8ee";
     };
     doCheck = false;
     buildInputs = [  ];
@@ -1711,7 +1673,7 @@ in
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        UNKNOWN
+        Screen-scraping library
         '';
       homepage = "http://www.crummy.com/software/BeautifulSoup/bs4/";
       license = "MIT";
@@ -1719,22 +1681,22 @@ in
   };
 
 
-  "plone.app.upgrade-1.3.4" = self.buildPythonPackage {
-    name = "plone.app.upgrade-1.3.4";
+  "Products.PloneLanguageTool-3.2.7" = self.buildPythonPackage {
+    name = "Products.PloneLanguageTool-3.2.7";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.upgrade/plone.app.upgrade-1.3.4.zip";
-        md5 = "10c192ee4a2422f901e020fd5b39879a";
+        url = "https://pypi.python.org/packages/source/P/Products.PloneLanguageTool/Products.PloneLanguageTool-3.2.7.zip";
+        md5 = "bd9eb6278bf76e8cbce99437ca362164";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."borg.localrole-3.0.2" self."five.localsitemanager-2.0.5" self."plone.app.folder-1.0.5" self."plone.app.portlets-2.4.5" self."plone.portlets-2.2" self."plone.session-3.5.3" self."Products.Archetypes-1.9.4" self."Products.CMFActionIcons-2.1.3" self."Products.CMFCalendar-2.2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDiffTool-2.1" self."Products.CMFEditions-2.2.8" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.contentmigration-2.1.5" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self."Products.PortalTransforms-2.1.2" self."Products.ResourceRegistries-2.2.9" self."Products.SecureMailHost-1.1.2" self."Products.ZCatalog-2.13.23" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.ramcache-1.0" self."zope.site-3.9.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self.setuptools ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Upgrade machinery for Plone.
+        PloneLanguageTool allows you to set the available languages in your Plone site, select various fallback mechanisms, and control the use of flags for language selection and translations.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.upgrade";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/Products.PloneLanguageTool";
+      license = "GPL";
     };
   };
 
@@ -1879,42 +1841,44 @@ in
   };
 
 
-  "Products.PluggableAuthService-1.10.0" = self.buildPythonPackage {
-    name = "Products.PluggableAuthService-1.10.0";
+  "Plone" = self."Plone-4.3.2";
+
+  "Plone-4.3.2" = self.buildPythonPackage {
+    name = "Plone-4.3.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PluggableAuthService/Products.PluggableAuthService-1.10.0.tar.gz";
-        md5 = "1a1db6b1d9dd34f8b93a8a3104385a37";
+        url = "https://pypi.python.org/packages/source/P/Plone/Plone-4.3.2.zip";
+        md5 = "809f9fe8b8d23b49778e8ce304ea34f6";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self."Products.PluginRegistry-1.3" self.setuptools self."Zope2-2.13.21" ];
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."plone.app.caching-1.1.6" self."plone.app.dexterity-2.0.9" self."plone.app.iterate-2.1.10" self."plone.app.openid-2.0.2" self."plone.app.theming-1.1.1" self."Products.CMFPlacefulWorkflow-1.5.9" self."Products.CMFPlone-4.3.2" self.setuptools self."wicked-1.1.10" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Pluggable Zope2 authentication / authorization framework
+        The Plone Content Management System
         '';
-      homepage = "http://pypi.python.org/pypi/Products.PluggableAuthService";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      homepage = "http://plone.org/";
+      license = "GPL version 2";
     };
   };
 
 
-  "plone.dexterity-2.1.3" = self.buildPythonPackage {
-    name = "plone.dexterity-2.1.3";
+  "Persistence-2.13.2" = self.buildPythonPackage {
+    name = "Persistence-2.13.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.dexterity/plone.dexterity-2.1.3.zip";
-        md5 = "7f6444a2c26488e4068217266fd243b7";
+        url = "https://pypi.python.org/packages/source/P/Persistence/Persistence-2.13.2.zip";
+        md5 = "92693648ccdc59c8fc71f7f06b1d228c";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.alterego-1.0" self."plone.autoform-1.5" self."plone.behavior-1.0.2" self."plone.folder-1.0.4" self."plone.memoize-1.1.1" self."plone.rfc822-1.1" self."plone.supermodel-1.2.3" self."plone.synchronize-1.0.1" self."plone.uuid-1.0.3" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.dottedname-3.4.6" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.size-3.4.1" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."ZODB3-3.10.5" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Flexible CMF content
+        Persistent ExtensionClass
         '';
-      homepage = "http://code.google.com/p/dexterity";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/Persistence";
+      license = "ZPL 2.1";
     };
   };
 
@@ -1939,22 +1903,62 @@ in
   };
 
 
-  "wicked-1.1.10" = self.buildPythonPackage {
-    name = "wicked-1.1.10";
+  "zc.recipe.egg-1.3.2" = self.buildPythonPackage {
+    name = "zc.recipe.egg-1.3.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/w/wicked/wicked-1.1.10.zip";
-        md5 = "f65611f11d547d7dc8e623bf87d3929d";
+        url = "https://pypi.python.org/packages/source/z/zc.recipe.egg/zc.recipe.egg-1.3.2.tar.gz";
+        md5 = "1cb6af73f527490dde461d3614a36475";
+    };
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools self."zc.buildout-1.7.1" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Recipe for installing Python package distributions as eggs
+        '';
+      homepage = "http://cheeseshop.python.org/pypi/zc.recipe.egg";
+      license = "ZPL 2.1";
+    };
+  };
+
+
+  "mailinglogger-3.7.0" = self.buildPythonPackage {
+    name = "mailinglogger-3.7.0";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/m/mailinglogger/mailinglogger-3.7.0.tar.gz";
+        md5 = "f865f0df6059ce23062b7457d01dbac5";
+    };
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Enhanced emailing handlers for the python logging package.
+        '';
+      homepage = "http://www.simplistix.co.uk/software/python/mailinglogger";
+      license = "MIT";
+    };
+  };
+
+
+  "plone.app.jquerytools-1.5.6" = self.buildPythonPackage {
+    name = "plone.app.jquerytools-1.5.6";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.app.jquerytools/plone.app.jquerytools-1.5.6.zip";
+        md5 = "4ae9a72baa8e9899c1706b4fedbb516b";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."zope.container-3.11.2" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.traversing-3.13.2" ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        wicked is a compact syntax for doing wiki-like content linking and creation in zope and plone
+        jQuery Tools integration for Plone plus overlay and AJAX form helpers.
         '';
-      homepage = "http://pypi.python.org/pypi/wicked";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/plone.app.jquerytools";
+      license = "GPL version 2";
     };
   };
 
@@ -1979,22 +1983,22 @@ in
   };
 
 
-  "Products.MIMETools-2.13.0" = self.buildPythonPackage {
-    name = "Products.MIMETools-2.13.0";
+  "plone.locking-2.0.4" = self.buildPythonPackage {
+    name = "plone.locking-2.0.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.MIMETools/Products.MIMETools-2.13.0.zip";
-        md5 = "ad5372fc1190599a19493db0864448ec";
+        url = "https://pypi.python.org/packages/source/p/plone.locking/plone.locking-2.0.4.zip";
+        md5 = "a7f8b8db78f57272d351d7fe0d067eb2";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."DocumentTemplate-2.13.2" self.setuptools ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        MIMETools provides the &lt;!--#mime--&gt; tag for DocumentTemplate.
+        webdav locking support
         '';
-      homepage = "http://pypi.python.org/pypi/Products.MIMETools";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.locking";
+      license = "GPL version 2";
     };
   };
 
@@ -2028,7 +2032,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.exceptions-3.6.2" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope testing framework, including the testrunner script.
@@ -2048,7 +2052,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Object life-cycle events
@@ -2059,22 +2063,22 @@ in
   };
 
 
-  "plone.app.viewletmanager-2.0.4" = self.buildPythonPackage {
-    name = "plone.app.viewletmanager-2.0.4";
+  "ExtensionClass-2.13.2" = self.buildPythonPackage {
+    name = "ExtensionClass-2.13.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.viewletmanager/plone.app.viewletmanager-2.0.4.zip";
-        md5 = "565a12ac71d20b2823b9e44daebe432f";
+        url = "https://pypi.python.org/packages/source/E/ExtensionClass/ExtensionClass-2.13.2.zip";
+        md5 = "0236e6d7da9e8b87b9ba45f1b8f930b8";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.vocabularies-2.1.11" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.interface-3.6.7" self."zope.site-3.9.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        configurable viewlet manager
+        Metaclass for subclassable extension types
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.viewletmanager";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/ExtensionClass";
+      license = "ZPL 2.1";
     };
   };
 
@@ -2148,7 +2152,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.security__untrustedpython-3.7.4" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.traversing-3.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Page Templates
@@ -2188,7 +2192,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         System for managing development buildouts
@@ -2228,7 +2232,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope 3 Template Application Languate (TAL)
@@ -2259,11 +2263,11 @@ in
   };
 
 
-  "cssselect-0.8" = self.buildPythonPackage {
-    name = "cssselect-0.8";
+  "cssselect-0.9" = self.buildPythonPackage {
+    name = "cssselect-0.9";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/c/cssselect/cssselect-0.8.tar.gz";
-        md5 = "c4683e050351abcbbd5990b01f5344e2";
+        url = "https://pypi.python.org/packages/source/c/cssselect/cssselect-0.9.tar.gz";
+        md5 = "3aba1e431787da957a9cd1e2c2e0bf1c";
     };
     doCheck = false;
     buildInputs = [  ];
@@ -2308,7 +2312,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.broken-3.6.0" self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.event-3.5.2" self."zope.filerepresentation-3.6.1" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.size-3.4.1" self."zope.traversing-3.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Container
@@ -2368,7 +2372,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.security__untrustedpython-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         zExceptions contains common exceptions used in Zope2.
@@ -2408,7 +2412,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.contenttype-3.5.5" self."zope.event-3.5.2" self."zope.exceptions-3.6.2" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.proxy-3.6.1" self."zope.security__untrustedpython-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         The Zope publisher publishes Python objects on the web.
@@ -2468,7 +2472,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.proxy-3.6.1" self."zope.schema-4.2.2" self."RestrictedPython-3.6.0" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Security Framework
@@ -2528,7 +2532,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.configuration-3.7.4" self."zope.i18nmessageid-3.5.3" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Component Architecture
@@ -2539,6 +2543,28 @@ in
   };
 
 
+  "psycopg2" = self."psycopg2-2.5.1";
+
+  "psycopg2-2.5.1" = self.buildPythonPackage {
+    name = "psycopg2-2.5.1";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.1.tar.gz";
+        md5 = "1b433f83d50d1bc61e09026e906d84c7";
+    };
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Python-PostgreSQL Database Adapter
+        '';
+      homepage = "http://initd.org/psycopg/";
+      license = "GPL with exceptions or ZPL";
+    };
+  };
+
+
   "plone.rfc822-1.1" = self.buildPythonPackage {
     name = "plone.rfc822-1.1";
     src = fetchurl {
@@ -2568,7 +2594,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Viewlets
@@ -2588,7 +2614,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self."pytz-2013b" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.schema-4.2.2" self."zope.configuration-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Internationalization Support
@@ -2648,7 +2674,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.contenttype-3.5.5" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.traversing-3.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Browser resources implementation for Zope.
@@ -2659,6 +2685,28 @@ in
   };
 
 
+  "RelStorage" = self."RelStorage-1.5.1";
+
+  "RelStorage-1.5.1" = self.buildPythonPackage {
+    name = "RelStorage-1.5.1";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/R/RelStorage/RelStorage-1.5.1.tar.gz";
+        md5 = "2454211d086ac02a4af10f7292e260ec";
+    };
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."zc.lockfile-1.0.2" self."ZODB3-3.10.5" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        A backend for ZODB that stores pickles in a relational database.
+        '';
+      homepage = "http://pypi.python.org/pypi/RelStorage";
+      license = "ZPL 2.1";
+    };
+  };
+
+
   "Products.ResourceRegistries-2.2.9" = self.buildPythonPackage {
     name = "Products.ResourceRegistries-2.2.9";
     src = fetchurl {
@@ -2741,6 +2789,26 @@ in
   };
 
 
+  "Products.contentmigration-2.1.5" = self.buildPythonPackage {
+    name = "Products.contentmigration-2.1.5";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/P/Products.contentmigration/Products.contentmigration-2.1.5.zip";
+        md5 = "f08e5f2572fc6f4c61b930a17f99418f";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        A generic content migration framework for Plone.
+        '';
+      homepage = "http://pypi.python.org/pypi/Products.contentmigration";
+      license = "LGPL";
+    };
+  };
+
+
   "Products.MimetypesRegistry-2.0.5" = self.buildPythonPackage {
     name = "Products.MimetypesRegistry-2.0.5";
     src = fetchurl {
@@ -2781,22 +2849,22 @@ in
   };
 
 
-  "Products.PloneLanguageTool-3.2.7" = self.buildPythonPackage {
-    name = "Products.PloneLanguageTool-3.2.7";
+  "plone.app.upgrade-1.3.4" = self.buildPythonPackage {
+    name = "plone.app.upgrade-1.3.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PloneLanguageTool/Products.PloneLanguageTool-3.2.7.zip";
-        md5 = "bd9eb6278bf76e8cbce99437ca362164";
+        url = "https://pypi.python.org/packages/source/p/plone.app.upgrade/plone.app.upgrade-1.3.4.zip";
+        md5 = "10c192ee4a2422f901e020fd5b39879a";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."borg.localrole-3.0.2" self."five.localsitemanager-2.0.5" self."plone.app.folder-1.0.5" self."plone.app.portlets-2.4.5" self."plone.portlets-2.2" self."plone.session-3.5.3" self."Products.Archetypes-1.9.4" self."Products.CMFActionIcons-2.1.3" self."Products.CMFCalendar-2.2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDiffTool-2.1" self."Products.CMFEditions-2.2.8" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.contentmigration-2.1.5" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self."Products.PortalTransforms-2.1.2" self."Products.ResourceRegistries-2.2.9" self."Products.SecureMailHost-1.1.2" self."Products.ZCatalog-2.13.23" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.ramcache-1.0" self."zope.site-3.9.2" self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        PloneLanguageTool allows you to set the available languages in your Plone site, select various fallback mechanisms, and control the use of flags for language selection and translations.
+        Upgrade machinery for Plone.
         '';
-      homepage = "http://pypi.python.org/pypi/Products.PloneLanguageTool";
-      license = "GPL";
+      homepage = "http://pypi.python.org/pypi/plone.app.upgrade";
+      license = "GPL version 2";
     };
   };
 
@@ -2850,7 +2918,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope contenttype
@@ -2881,26 +2949,6 @@ in
   };
 
 
-  "plone.app.theming-1.1.1" = self.buildPythonPackage {
-    name = "plone.app.theming-1.1.1";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.theming/plone.app.theming-1.1.1.zip";
-        md5 = "a694b7a050b6e7c25d720d1e99bb73fa";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."diazo-1.0.4" self."docutils-0.9.1" self."five.globalrequest-1.0" self."lxml-2.3.6" self."plone.app.registry-1.2.3" self."plone.resource-1.0.2" self."plone.resourceeditor-1.0" self."plone.subrequest-1.6.7" self."plone.transformchain-1.0.3" self."Products.CMFPlone-4.3.2" self."repoze.xmliter-0.5" self."roman-1.4.0" self.setuptools self."zope.traversing-3.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Integrates the Diazo theming engine with Plone
-        '';
-      homepage = "http://pypi.python.org/pypi/plone.app.theming";
-      license = "GPL";
-    };
-  };
-
-
   "zope.globalrequest-1.0" = self.buildPythonPackage {
     name = "zope.globalrequest-1.0";
     src = fetchurl {
@@ -2930,7 +2978,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope sendmail
@@ -2941,6 +2989,26 @@ in
   };
 
 
+  "Products.MIMETools-2.13.0" = self.buildPythonPackage {
+    name = "Products.MIMETools-2.13.0";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/P/Products.MIMETools/Products.MIMETools-2.13.0.zip";
+        md5 = "ad5372fc1190599a19493db0864448ec";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."DocumentTemplate-2.13.2" self.setuptools ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        MIMETools provides the &lt;!--#mime--&gt; tag for DocumentTemplate.
+        '';
+      homepage = "http://pypi.python.org/pypi/Products.MIMETools";
+      license = "ZPL 2.1";
+    };
+  };
+
+
   "zope.annotation-3.5.0" = self.buildPythonPackage {
     name = "zope.annotation-3.5.0";
     src = fetchurl {
@@ -2950,7 +3018,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.proxy-3.6.1" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Object annotation mechanism
@@ -3061,26 +3129,6 @@ in
   };
 
 
-  "Products.CMFPlacefulWorkflow-1.5.9" = self.buildPythonPackage {
-    name = "Products.CMFPlacefulWorkflow-1.5.9";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.CMFPlacefulWorkflow/Products.CMFPlacefulWorkflow-1.5.9.zip";
-        md5 = "9041e1f52eab5b348c0dfa85be438722";
-    };
-    doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self."Products.PloneTestCase-0.9.17" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.testing-3.9.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        Workflow policies for CMF and Plone
-        '';
-      homepage = "http://pypi.python.org/pypi/Products.CMFPlacefulWorkflow";
-      license = "GPL";
-    };
-  };
-
-
   "zope.filerepresentation-3.6.1" = self.buildPythonPackage {
     name = "zope.filerepresentation-3.6.1";
     src = fetchurl {
@@ -3090,7 +3138,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         File-system Representation Interfaces
@@ -3130,7 +3178,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Interfaces for Python
@@ -3150,7 +3198,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Interfaces and simple adapter that give the size of an object
@@ -3161,21 +3209,21 @@ in
   };
 
 
-  "archetypes.referencebrowserwidget-2.4.19" = self.buildPythonPackage {
-    name = "archetypes.referencebrowserwidget-2.4.19";
+  "ZODB3-3.10.5" = self.buildPythonPackage {
+    name = "ZODB3-3.10.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/a/archetypes.referencebrowserwidget/archetypes.referencebrowserwidget-2.4.19.zip";
-        md5 = "b70af6b2da6d8c57c1138a52e94e588c";
+        url = "https://pypi.python.org/packages/source/Z/ZODB3/ZODB3-3.10.5.tar.gz";
+        md5 = "6f180c6897a1820948fee2a6290503cd";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.jquerytools-1.5.6" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."transaction-1.1.1" self."zc.lockfile-1.0.2" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zope.event-3.5.2" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        A referencebrowser implementation for Archetypes
+        Zope Object Database: object database and persistence
         '';
-      homepage = "http://pypi.python.org/pypi/archetypes.referencebrowserwidget";
+      homepage = "UNKNOWN";
       license = "ZPL 2.1";
     };
   };
@@ -3210,7 +3258,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Resolver for Python dotted names.
@@ -3281,21 +3329,21 @@ in
   };
 
 
-  "plone.app.contentlisting-1.0.5" = self.buildPythonPackage {
-    name = "plone.app.contentlisting-1.0.5";
+  "collective.z3cform.datetimewidget-1.2.5" = self.buildPythonPackage {
+    name = "collective.z3cform.datetimewidget-1.2.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.contentlisting/plone.app.contentlisting-1.0.5.zip";
-        md5 = "9fc15b8ecad1c918778c3ea9a75bf533";
+        url = "https://pypi.python.org/packages/source/c/collective.z3cform.datetimewidget/collective.z3cform.datetimewidget-1.2.5.zip";
+        md5 = "38fa463ea9b0b3cf5f61540250968214";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.uuid-1.0.3" self.setuptools ];
+    propagatedBuildInputs = [ self.setuptools self."z3c.form-3.0.2" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Listing of content for the Plone CMS
+        z3c.form date and datetime widgets
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.contentlisting";
+      homepage = "https://github.com/collective/collective.z3cform.datetimewidget";
       license = "GPL version 2";
     };
   };
@@ -3310,7 +3358,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."docutils-0.9.1" self."ExtensionClass-2.13.2" self."initgroups-2.13.0" self."Missing-2.13.1" self."MultiMapping-2.13.0" self."Persistence-2.13.2" self."Products.BTreeFolder2-2.13.3" self."Products.ExternalMethod-2.13.0" self."Products.MailHost-2.13.1" self."Products.MIMETools-2.13.0" self."Products.OFSP-2.13.2" self."Products.PythonScripts-2.13.2" self."Products.StandardCacheManagers-2.13.0" self."Products.ZCatalog-2.13.23" self."Products.ZCTextIndex-2.13.4" self."pytz-2013b" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."tempstorage-2.12.2" self."transaction-1.1.1" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zExceptions-2.13.0" self."zLOG-2.11.1" self."ZODB3-3.10.5" self."zope.browser-1.3" self."zope.browsermenu-3.9.1" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.contenttype-3.5.5" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.exceptions-3.6.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.processlifetime-1.0" self."zope.proxy-3.6.1" self."zope.ptresource-3.9.0" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.sendmail-3.7.5" self."zope.sequencesort-3.4.0" self."zope.site-3.9.2" self."zope.size-3.4.1" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.testbrowser-3.11.1" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."ZopeUndo-2.12.0" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope2 application server / web framework
@@ -3450,7 +3498,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         RestrictedPython provides a restricted execution environment for Python, e.g. for running untrusted code.
@@ -3461,22 +3509,22 @@ in
   };
 
 
-  "plone.stringinterp-1.0.10" = self.buildPythonPackage {
-    name = "plone.stringinterp-1.0.10";
+  "tempstorage-2.12.2" = self.buildPythonPackage {
+    name = "tempstorage-2.12.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.stringinterp/plone.stringinterp-1.0.10.zip";
-        md5 = "595074e94944ad6860e2105a020a3b9a";
+        url = "https://pypi.python.org/packages/source/t/tempstorage/tempstorage-2.12.2.zip";
+        md5 = "7a2b76b39839e229249b1bb175604480";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.i18n__zcml-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.testing-3.9.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Adaptable string interpolation
+        A RAM-based storage for ZODB
         '';
-      homepage = "http://pypi.python.org/pypi/plone.stringinterp";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/tempstorage";
+      license = "ZPL 2.1";
     };
   };
 
@@ -3501,22 +3549,22 @@ in
   };
 
 
-  "Products.PluginRegistry-1.3" = self.buildPythonPackage {
-    name = "Products.PluginRegistry-1.3";
+  "Acquisition-2.13.8" = self.buildPythonPackage {
+    name = "Acquisition-2.13.8";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.PluginRegistry/Products.PluginRegistry-1.3.tar.gz";
-        md5 = "5b166193ca1eb84dfb402051f779ebab";
+        url = "https://pypi.python.org/packages/source/A/Acquisition/Acquisition-2.13.8.zip";
+        md5 = "8c33160c157b50649e2b2b3224622579";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        Configure application plugins based on interfaces
+        Acquisition is a mechanism that allows objects to obtain attributes from the containment hierarchy they're in.
         '';
-      homepage = "http://pypi.python.org/pypi/Products.PluginRegistry";
-      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
+      homepage = "http://pypi.python.org/pypi/Acquisition";
+      license = "ZPL 2.1";
     };
   };
 
@@ -3641,6 +3689,26 @@ in
   };
 
 
+  "plone.indexer-1.0.2" = self.buildPythonPackage {
+    name = "plone.indexer-1.0.2";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.indexer/plone.indexer-1.0.2.zip";
+        md5 = "538aeee1f9db78bc8c85ae1bcb0153ed";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        Hooks to facilitate managing custom index values in Zope 2/CMF applications
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.indexer";
+      license = "BSD";
+    };
+  };
+
+
   "plone.app.layout-2.3.7" = self.buildPythonPackage {
     name = "plone.app.layout-2.3.7";
     src = fetchurl {
@@ -3681,22 +3749,22 @@ in
   };
 
 
-  "plone.locking-2.0.4" = self.buildPythonPackage {
-    name = "plone.locking-2.0.4";
+  "mechanize-0.2.5" = self.buildPythonPackage {
+    name = "mechanize-0.2.5";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.locking/plone.locking-2.0.4.zip";
-        md5 = "a7f8b8db78f57272d351d7fe0d067eb2";
+        url = "https://pypi.python.org/packages/source/m/mechanize/mechanize-0.2.5.tar.gz";
+        md5 = "32657f139fc2fb75bcf193b63b8c60b2";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [  ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        webdav locking support
+        Stateful programmatic web browsing.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.locking";
-      license = "GPL version 2";
+      homepage = "http://wwwsearch.sourceforge.net/mechanize/";
+      license = "BSD";
     };
   };
 
@@ -3801,6 +3869,26 @@ in
   };
 
 
+  "plone.portlet.static-2.0.2" = self.buildPythonPackage {
+    name = "plone.portlet.static-2.0.2";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/p/plone.portlet.static/plone.portlet.static-2.0.2.zip";
+        md5 = "ec0dc691b4191a41ff97779b117f9985";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.portlets-2.4.5" self."plone.i18n-2.0.9" self."plone.portlets-2.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
+    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    meta = {
+      description = ''
+        A simple static HTML portlet for Plone.
+        '';
+      homepage = "http://pypi.python.org/pypi/plone.portlet.static";
+      license = "GPL version 2";
+    };
+  };
+
+
   "plone.i18n-2.0.9" = self.buildPythonPackage {
     name = "plone.i18n-2.0.9";
     src = fetchurl {
@@ -3821,11 +3909,31 @@ in
   };
 
 
-  "Products.contentmigration-2.1.5" = self.buildPythonPackage {
-    name = "Products.contentmigration-2.1.5";
+  "Missing-2.13.1" = self.buildPythonPackage {
+    name = "Missing-2.13.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Products.contentmigration/Products.contentmigration-2.1.5.zip";
-        md5 = "f08e5f2572fc6f4c61b930a17f99418f";
+        url = "https://pypi.python.org/packages/source/M/Missing/Missing-2.13.1.zip";
+        md5 = "9823cff54444cbbcaef8fc45d8e42572";
+    };
+    doCheck = false;
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Special Missing objects used in Zope2.
+        '';
+      homepage = "http://pypi.python.org/pypi/Missing";
+      license = "ZPL 2.1";
+    };
+  };
+
+
+  "zope.cachedescriptors-3.5.1" = self.buildPythonPackage {
+    name = "zope.cachedescriptors-3.5.1";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/z/zope.cachedescriptors/zope.cachedescriptors-3.5.1.zip";
+        md5 = "263459a95238fd61d17e815d97ca49ce";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
@@ -3833,10 +3941,10 @@ in
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        A generic content migration framework for Plone.
+        Method and property caching decorators
         '';
-      homepage = "http://pypi.python.org/pypi/Products.contentmigration";
-      license = "LGPL";
+      homepage = "http://pypi.python.org/pypi/zope.cachedescriptors";
+      license = "ZPL 2.1";
     };
   };
 
@@ -3850,7 +3958,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Browser menu implementation for Zope.
@@ -3861,21 +3969,21 @@ in
   };
 
 
-  "ZODB3-3.10.5" = self.buildPythonPackage {
-    name = "ZODB3-3.10.5";
+  "archetypes.referencebrowserwidget-2.4.19" = self.buildPythonPackage {
+    name = "archetypes.referencebrowserwidget-2.4.19";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/Z/ZODB3/ZODB3-3.10.5.tar.gz";
-        md5 = "6f180c6897a1820948fee2a6290503cd";
+        url = "https://pypi.python.org/packages/source/a/archetypes.referencebrowserwidget/archetypes.referencebrowserwidget-2.4.19.zip";
+        md5 = "b70af6b2da6d8c57c1138a52e94e588c";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."transaction-1.1.1" self."zc.lockfile-1.0.2" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zope.event-3.5.2" self."zope.interface-3.6.7" ];
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.jquerytools-1.5.6" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.interface-3.6.7" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Zope Object Database: object database and persistence
+        A referencebrowser implementation for Archetypes
         '';
-      homepage = "UNKNOWN";
+      homepage = "http://pypi.python.org/pypi/archetypes.referencebrowserwidget";
       license = "ZPL 2.1";
     };
   };
@@ -3928,8 +4036,8 @@ in
         md5 = "bf0a04fcf8b2cdcaa13b04324cefb53d";
     };
     doCheck = true;
-    buildInputs = [ self."nose-1.3.0" self."unittest2-0.5.1" self."pyquery-1.2.4" self."WSGIProxy2-0.3" self."PasteDeploy-1.5.0" self."mock-1.0.1" self."coverage-3.6" pkgs.unzip ];
-    propagatedBuildInputs = [ self."beautifulsoup4-4.3.1" self."six-1.4.1" self."waitress-0.8.7" self."WebOb-1.2.3" ];
+    buildInputs = [ self."nose-1.3.0" self."unittest2-0.5.1" self."pyquery-1.2.6" self."WSGIProxy2-0.3" self."PasteDeploy-1.5.0" self."mock-1.0.1" self."coverage-3.7" pkgs.unzip ];
+    propagatedBuildInputs = [ self."beautifulsoup4-4.3.2" self."six-1.4.1" self."waitress-0.8.7" self."WebOb-1.2.3" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
@@ -4010,7 +4118,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Transaction management for Python
@@ -4021,22 +4129,22 @@ in
   };
 
 
-  "zope.cachedescriptors-3.5.1" = self.buildPythonPackage {
-    name = "zope.cachedescriptors-3.5.1";
+  "plone.app.theming-1.1.1" = self.buildPythonPackage {
+    name = "plone.app.theming-1.1.1";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.cachedescriptors/zope.cachedescriptors-3.5.1.zip";
-        md5 = "263459a95238fd61d17e815d97ca49ce";
+        url = "https://pypi.python.org/packages/source/p/plone.app.theming/plone.app.theming-1.1.1.zip";
+        md5 = "a694b7a050b6e7c25d720d1e99bb73fa";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools ];
+    propagatedBuildInputs = [ self."diazo-1.0.4" self."docutils-0.9.1" self."five.globalrequest-1.0" self."lxml-2.3.6" self."plone.app.registry-1.2.3" self."plone.resource-1.0.2" self."plone.resourceeditor-1.0" self."plone.subrequest-1.6.7" self."plone.transformchain-1.0.3" self."Products.CMFPlone-4.3.2" self."repoze.xmliter-0.5" self."roman-1.4.0" self.setuptools self."zope.traversing-3.13.2" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Method and property caching decorators
+        Integrates the Diazo theming engine with Plone
         '';
-      homepage = "http://pypi.python.org/pypi/zope.cachedescriptors";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.app.theming";
+      license = "GPL";
     };
   };
 
@@ -4150,7 +4258,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Exceptions
@@ -4181,22 +4289,22 @@ in
   };
 
 
-  "plone.z3cform-0.8.0" = self.buildPythonPackage {
-    name = "plone.z3cform-0.8.0";
+  "plone.app.caching-1.1.6" = self.buildPythonPackage {
+    name = "plone.app.caching-1.1.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.z3cform/plone.z3cform-0.8.0.zip";
-        md5 = "bdb23dd162544964d2f8f8f5f002e874";
+        url = "https://pypi.python.org/packages/source/p/plone.app.caching/plone.app.caching-1.1.6.zip";
+        md5 = "52f817d67e6da1508bf6f1486e5466d2";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.batching-1.0" self.setuptools self."z3c.form-3.0.2" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.registry-1.2.3" self."plone.app.z3cform-0.7.4" self."plone.cachepurging-1.0.4" self."plone.caching-1.0" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self."python-dateutil-1.5" self.setuptools self."z3c.form-3.0.2" self."z3c.zcmlhook-1.0b1" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        plone.z3cform is a library that allows use of z3c.form with Zope 2 and the CMF.
+        Plone UI and default rules for plone.caching/z3c.caching
         '';
-      homepage = "http://pypi.python.org/pypi/plone.z3cform";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.app.caching";
+      license = "GPL version 2";
     };
   };
 
@@ -4210,7 +4318,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."Persistence-2.13.2" self."Record-2.13.0" self."RestrictedPython-3.6.0" self."transaction-1.1.1" self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.deferredimport-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.testing-3.9.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Security framework for Zope2.
@@ -4230,7 +4338,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self."ExtensionClass-2.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Special Record objects used in Zope2.
@@ -4261,55 +4369,55 @@ in
   };
 
 
-  "plone.resourceeditor-1.0" = self.buildPythonPackage {
-    name = "plone.resourceeditor-1.0";
+  "Products.CMFPlacefulWorkflow-1.5.9" = self.buildPythonPackage {
+    name = "Products.CMFPlacefulWorkflow-1.5.9";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.resourceeditor/plone.resourceeditor-1.0.zip";
-        md5 = "443ff0a0ad83b94fc08cac46ee3b2ad4";
+        url = "https://pypi.python.org/packages/source/P/Products.CMFPlacefulWorkflow/Products.CMFPlacefulWorkflow-1.5.9.zip";
+        md5 = "9041e1f52eab5b348c0dfa85be438722";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.resource-1.0.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self."Products.PloneTestCase-0.9.17" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.testing-3.9.7" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        UNKNOWN
+        Workflow policies for CMF and Plone
         '';
-      homepage = "https://github.com/plone/plone.resourceeditor";
+      homepage = "http://pypi.python.org/pypi/Products.CMFPlacefulWorkflow";
       license = "GPL";
     };
   };
 
 
-  "zope.event-3.5.2" = self.buildPythonPackage {
-    name = "zope.event-3.5.2";
+  "plone.app.textfield-1.2.2" = self.buildPythonPackage {
+    name = "plone.app.textfield-1.2.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-3.5.2.tar.gz";
-        md5 = "6e8af2a16157a74885d4f0d88137cefb";
+        url = "https://pypi.python.org/packages/source/p/plone.app.textfield/plone.app.textfield-1.2.2.zip";
+        md5 = "f832887a40826d6f68c48b48f071fb9c";
     };
     doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools ];
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Very basic event publishing system
+        Text field with MIME type support
         '';
-      homepage = "http://pypi.python.org/pypi/zope.event";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.app.textfield";
+      license = "GPL";
     };
   };
 
 
-  "pyquery-1.2.4" = self.buildPythonPackage {
-    name = "pyquery-1.2.4";
+  "pyquery-1.2.6" = self.buildPythonPackage {
+    name = "pyquery-1.2.6";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.4.tar.gz";
-        md5 = "268f08258738d21bc1920d7522f2a63b";
+        url = "https://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.6.zip";
+        md5 = "af51aa835f24eef06175c48dc1218029";
     };
     doCheck = true;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self."cssselect-0.8" self."lxml-3.2.3" ];
+    buildInputs = [ pkgs.unzip ];
+    propagatedBuildInputs = [ self."cssselect-0.9" self."lxml-3.2.3" ];
     installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
@@ -4321,6 +4429,26 @@ in
   };
 
 
+  "zope.event-3.5.2" = self.buildPythonPackage {
+    name = "zope.event-3.5.2";
+    src = fetchurl {
+        url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-3.5.2.tar.gz";
+        md5 = "6e8af2a16157a74885d4f0d88137cefb";
+    };
+    doCheck = false;
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
+    meta = {
+      description = ''
+        Very basic event publishing system
+        '';
+      homepage = "http://pypi.python.org/pypi/zope.event";
+      license = "ZPL 2.1";
+    };
+  };
+
+
   "initgroups-2.13.0" = self.buildPythonPackage {
     name = "initgroups-2.13.0";
     src = fetchurl {
@@ -4330,7 +4458,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Convenience uid/gid helper function used in Zope2.
@@ -4350,7 +4478,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self."ZConfig-2.9.1" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Daemon process control library and tools for Unix-based systems
@@ -4470,7 +4598,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Shared Zope Toolkit browser components
@@ -4521,84 +4649,82 @@ in
   };
 
 
-  "Plone" = self."Plone-4.3.2";
-
-  "Plone-4.3.2" = self.buildPythonPackage {
-    name = "Plone-4.3.2";
+  "Products.PluggableAuthService-1.10.0" = self.buildPythonPackage {
+    name = "Products.PluggableAuthService-1.10.0";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/P/Plone/Plone-4.3.2.zip";
-        md5 = "809f9fe8b8d23b49778e8ce304ea34f6";
+        url = "https://pypi.python.org/packages/source/P/Products.PluggableAuthService/Products.PluggableAuthService-1.10.0.tar.gz";
+        md5 = "1a1db6b1d9dd34f8b93a8a3104385a37";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.caching-1.1.6" self."plone.app.dexterity-2.0.9" self."plone.app.iterate-2.1.10" self."plone.app.openid-2.0.2" self."plone.app.theming-1.1.1" self."Products.CMFPlacefulWorkflow-1.5.9" self."Products.CMFPlone-4.3.2" self.setuptools self."wicked-1.1.10" ];
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self."Products.PluginRegistry-1.3" self.setuptools self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        The Plone Content Management System
+        Pluggable Zope2 authentication / authorization framework
         '';
-      homepage = "http://plone.org/";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/Products.PluggableAuthService";
+      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
     };
   };
 
 
-  "plone.app.jquerytools-1.5.6" = self.buildPythonPackage {
-    name = "plone.app.jquerytools-1.5.6";
+  "wicked-1.1.10" = self.buildPythonPackage {
+    name = "wicked-1.1.10";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.app.jquerytools/plone.app.jquerytools-1.5.6.zip";
-        md5 = "4ae9a72baa8e9899c1706b4fedbb516b";
+        url = "https://pypi.python.org/packages/source/w/wicked/wicked-1.1.10.zip";
+        md5 = "f65611f11d547d7dc8e623bf87d3929d";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."Zope2-2.13.21" ];
+    propagatedBuildInputs = [ self.setuptools self."zope.container-3.11.2" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.traversing-3.13.2" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        jQuery Tools integration for Plone plus overlay and AJAX form helpers.
+        wicked is a compact syntax for doing wiki-like content linking and creation in zope and plone
         '';
-      homepage = "http://pypi.python.org/pypi/plone.app.jquerytools";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/wicked";
+      license = "GPL";
     };
   };
 
 
-  "zope.broken-3.6.0" = self.buildPythonPackage {
-    name = "zope.broken-3.6.0";
+  "Products.GenericSetup-1.7.4" = self.buildPythonPackage {
+    name = "Products.GenericSetup-1.7.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.broken/zope.broken-3.6.0.zip";
-        md5 = "eff24d7918099a3e899ee63a9c31bee6";
+        url = "https://pypi.python.org/packages/source/P/Products.GenericSetup/Products.GenericSetup-1.7.4.tar.gz";
+        md5 = "f93251ed519e8c4aea0bc001416027b1";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self.setuptools self."zope.interface-3.6.7" ];
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self.setuptools self."zope.formlib-4.0.6" self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Zope Broken Object Interfaces
+        Read Zope configuration state from profile dirs / tarballs
         '';
-      homepage = "http://pypi.python.org/pypi/zope.broken";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/Products.GenericSetup";
+      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
     };
   };
 
 
-  "ExtensionClass-2.13.2" = self.buildPythonPackage {
-    name = "ExtensionClass-2.13.2";
+  "plone.app.viewletmanager-2.0.4" = self.buildPythonPackage {
+    name = "plone.app.viewletmanager-2.0.4";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/E/ExtensionClass/ExtensionClass-2.13.2.zip";
-        md5 = "0236e6d7da9e8b87b9ba45f1b8f930b8";
+        url = "https://pypi.python.org/packages/source/p/plone.app.viewletmanager/plone.app.viewletmanager-2.0.4.zip";
+        md5 = "565a12ac71d20b2823b9e44daebe432f";
     };
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [  ];
+    propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.vocabularies-2.1.11" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.interface-3.6.7" self."zope.site-3.9.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Metaclass for subclassable extension types
+        configurable viewlet manager
         '';
-      homepage = "http://pypi.python.org/pypi/ExtensionClass";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/plone.app.viewletmanager";
+      license = "GPL version 2";
     };
   };
 
@@ -4623,26 +4749,6 @@ in
   };
 
 
-  "zope.browserpage-3.12.2" = self.buildPythonPackage {
-    name = "zope.browserpage-3.12.2";
-    src = fetchurl {
-        url = "https://pypi.python.org/packages/source/z/zope.browserpage/zope.browserpage-3.12.2.tar.gz";
-        md5 = "a543ef3cb1b42f7233b3fca23dc9ea60";
-    };
-    doCheck = false;
-    buildInputs = [  ];
-    propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
-    meta = {
-      description = ''
-        ZCML directives for configuring browser views for Zope.
-        '';
-      homepage = "http://pypi.python.org/pypi/zope.browserpage/";
-      license = "ZPL 2.1";
-    };
-  };
-
-
   "zope.structuredtext-3.5.1" = self.buildPythonPackage {
     name = "zope.structuredtext-3.5.1";
     src = fetchurl {
@@ -4652,7 +4758,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         StructuredText parser
@@ -4692,7 +4798,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [  ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         ZODB undo support for Zope2.
@@ -4712,7 +4818,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.proxy-3.6.1" self."zope.publisher-3.12.6" self."zope.security__untrustedpython-3.7.4" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Resolving paths in the object hierarchy
@@ -4732,7 +4838,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.tales-3.5.3" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Content Provider Framework for Zope Templates
@@ -4783,22 +4889,22 @@ in
   };
 
 
-  "plone.portlet.static-2.0.2" = self.buildPythonPackage {
-    name = "plone.portlet.static-2.0.2";
+  "zope.browserpage-3.12.2" = self.buildPythonPackage {
+    name = "zope.browserpage-3.12.2";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/p/plone.portlet.static/plone.portlet.static-2.0.2.zip";
-        md5 = "ec0dc691b4191a41ff97779b117f9985";
+        url = "https://pypi.python.org/packages/source/z/zope.browserpage/zope.browserpage-3.12.2.tar.gz";
+        md5 = "a543ef3cb1b42f7233b3fca23dc9ea60";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.portlets-2.4.5" self."plone.i18n-2.0.9" self."plone.portlets-2.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.21" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" ];
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
-        A simple static HTML portlet for Plone.
+        ZCML directives for configuring browser views for Zope.
         '';
-      homepage = "http://pypi.python.org/pypi/plone.portlet.static";
-      license = "GPL version 2";
+      homepage = "http://pypi.python.org/pypi/zope.browserpage/";
+      license = "ZPL 2.1";
     };
   };
 
@@ -4883,22 +4989,22 @@ in
   };
 
 
-  "Acquisition-2.13.8" = self.buildPythonPackage {
-    name = "Acquisition-2.13.8";
+  "Products.PluginRegistry-1.3" = self.buildPythonPackage {
+    name = "Products.PluginRegistry-1.3";
     src = fetchurl {
-        url = "https://pypi.python.org/packages/source/A/Acquisition/Acquisition-2.13.8.zip";
-        md5 = "8c33160c157b50649e2b2b3224622579";
+        url = "https://pypi.python.org/packages/source/P/Products.PluginRegistry/Products.PluginRegistry-1.3.tar.gz";
+        md5 = "5b166193ca1eb84dfb402051f779ebab";
     };
     doCheck = false;
-    buildInputs = [ pkgs.unzip ];
-    propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."zope.interface-3.6.7" ];
+    buildInputs = [  ];
+    propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        Acquisition is a mechanism that allows objects to obtain attributes from the containment hierarchy they're in.
+        Configure application plugins based on interfaces
         '';
-      homepage = "http://pypi.python.org/pypi/Acquisition";
-      license = "ZPL 2.1";
+      homepage = "http://pypi.python.org/pypi/Products.PluginRegistry";
+      license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)";
     };
   };
 
@@ -4932,7 +5038,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self."ZConfig-2.9.1" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         A general logging facility
@@ -4952,7 +5058,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.proxy-3.6.1" self."zope.schema-4.2.2" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Zope Location
@@ -5072,7 +5178,7 @@ in
     doCheck = false;
     buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."RestrictedPython-3.6.0" self."zExceptions-2.13.0" self."zope.sequencesort-3.4.0" self."zope.structuredtext-3.5.1" ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Document Templating Markup Language (DTML)
@@ -5132,7 +5238,7 @@ in
     doCheck = false;
     buildInputs = [  ];
     propagatedBuildInputs = [ self.setuptools ];
-    installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
+    installCommand = ''easy_install --always-unzip --prefix="$out" .'';
     meta = {
       description = ''
         Message Identifiers for internationalization
diff --git a/pkgs/top-level/python-packages.json b/pkgs/top-level/python-packages.json
index f6733ace2e86..aefd911a5583 100644
--- a/pkgs/top-level/python-packages.json
+++ b/pkgs/top-level/python-packages.json
@@ -122,5 +122,18 @@
         ]
       }
     }
+  },
+  { "name": "plone.recipe.zope2instance",
+    "extends": "http://dist.plone.org/release/4.3.2/versions.cfg",
+    "doCheck": false
+  },
+  { "name": "RelStorage",
+    "extends": "http://dist.plone.org/release/4.3.2/versions.cfg",
+    "doCheck": false
+  },
+  { "name": "psycopg2",
+    "buildInputs": [ "pkgs.postgresql" ],
+    "doCheck": false
   }
+
 ]
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9d0b7d80f769..8baaa25d3031 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5,7 +5,7 @@ isPy26 = python.majorVersion == "2.6";
 isPy27 = python.majorVersion == "2.7";
 optional = pkgs.lib.optional;
 optionals = pkgs.lib.optionals;
-modules = python.modules or { readline = null; sqlite3 = null; curses = null; ssl = null; crypt = null; };
+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;
@@ -1347,6 +1347,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       homepage = http://pythonhosted.org/evdev;
       license = licenses.bsd3;
       maintainers = [ maintainers.goibhniu ];
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -2667,6 +2668,31 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  glances = buildPythonPackage rec {
+    name = "glances-${meta.version}";
+
+    src = fetchurl {
+      url = "https://github.com/nicolargo/glances/archive/v${meta.version}.tar.gz";
+      sha256 = "0g2yg9qf7qgjwv13x0rx51rzhn99pcmjpb3vk0g3gmmdsqyqi0d6";
+    };
+
+    buildInputs = [ pkgs.hddtemp ];
+
+    propagatedBuildInputs = [ psutil jinja2 modules.curses modules.curses_panel];
+
+    doCheck = false;
+
+    preConfigure = ''
+      sed -i -r -e '/data_files.append[(][(](conf|etc)_path/ietc_path="etc/glances"; conf_path="etc/glances"' setup.py;
+    '';
+
+    meta = {
+      version = "1.7.1";
+      homepage = "http://nicolargo.github.io/glances/";
+      description = "Cross-platform curses-based monitoring tool";
+    };
+  };
+
 
   greenlet = buildPythonPackage rec {
     name = "greenlet-0.3.1";
@@ -4628,6 +4654,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       homepage = "http://www.pyglet.org/";
       description = "A cross-platform windowing and multimedia library";
       license = stdenv.lib.licenses.bsd3;
+      platforms = stdenv.lib.platforms.mesaPlatforms;
     };
   };
 
@@ -4795,7 +4822,8 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     meta = {
       homepage = "https://fedorahosted.org/pyparted/";
       description = "Python interface for libparted";
-      license = pkgs.lib.licenses.gpl2Plus;
+      license = stdenv.lib.licenses.gpl2Plus;
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -4851,6 +4879,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       homepage = "http://pyudev.readthedocs.org/";
       description = "Pure Python libudev binding";
       license = stdenv.lib.licenses.lgpl21Plus;
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -4974,6 +5003,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
           '';
 
           license = "BSD-style";
+          platforms = stdenv.lib.platforms.mesaPlatforms;
         };
       };