summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2013-07-30 11:29:30 +0200
committerPeter Simons <simons@cryp.to>2013-07-30 11:29:30 +0200
commit522acfd2f46c86afc651dc25e420c9cd2a86dd09 (patch)
treebe0784af7ec066c19a7d7a6804fb90e97d34e1ac
parent0b8f1b1448539d4166573769931de48488af7a4c (diff)
parentaf98eb8de0e06b86a07d8267fb52b4d07b65d5b9 (diff)
downloadnixpkgs-522acfd2f46c86afc651dc25e420c9cd2a86dd09.tar
nixpkgs-522acfd2f46c86afc651dc25e420c9cd2a86dd09.tar.gz
nixpkgs-522acfd2f46c86afc651dc25e420c9cd2a86dd09.tar.bz2
nixpkgs-522acfd2f46c86afc651dc25e420c9cd2a86dd09.tar.lz
nixpkgs-522acfd2f46c86afc651dc25e420c9cd2a86dd09.tar.xz
nixpkgs-522acfd2f46c86afc651dc25e420c9cd2a86dd09.tar.zst
nixpkgs-522acfd2f46c86afc651dc25e420c9cd2a86dd09.zip
Merge remote-tracking branch 'master' into stdenv-updates.
Conflicts:
	pkgs/applications/version-management/git-and-tools/git/default.nix
	pkgs/top-level/all-packages.nix
-rwxr-xr-xmaintainers/scripts/nix-generate-from-cpan.pl28
-rw-r--r--maintainers/scripts/nixpkgs-lint.nix22
-rwxr-xr-xmaintainers/scripts/nixpkgs-lint.pl115
-rw-r--r--pkgs/applications/audio/csound/default.nix2
-rw-r--r--pkgs/applications/audio/easytag/default.nix38
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix22
-rw-r--r--pkgs/applications/audio/lingot/default.nix2
-rw-r--r--pkgs/applications/audio/mi2ly/default.nix38
-rw-r--r--pkgs/applications/audio/mi2ly/default.upstream3
-rw-r--r--pkgs/applications/audio/mopidy/default.nix4
-rw-r--r--pkgs/applications/audio/mpg123/default.nix8
-rw-r--r--pkgs/applications/audio/normalize/default.nix2
-rw-r--r--pkgs/applications/audio/pavucontrol/default.nix14
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix67
-rw-r--r--pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch18
-rw-r--r--pkgs/applications/audio/snd/default.nix2
-rw-r--r--pkgs/applications/editors/bvi/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/bbdb/default.nix1
-rw-r--r--pkgs/applications/editors/emacs-modes/color-theme/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/haskell/default.nix11
-rw-r--r--pkgs/applications/editors/emacs-modes/php/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/session-management-for-emacs/default.nix3
-rw-r--r--pkgs/applications/editors/vim/default.nix6
-rw-r--r--pkgs/applications/graphics/alchemy/default.nix2
-rw-r--r--pkgs/applications/graphics/exrdisplay/default.nix2
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix6
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix4
-rw-r--r--pkgs/applications/graphics/pinta/default.nix2
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix2
-rw-r--r--pkgs/applications/graphics/sane/backends-git.nix8
-rw-r--r--pkgs/applications/graphics/seg3d/default.nix2
-rw-r--r--pkgs/applications/misc/calibre/default.nix24
-rw-r--r--pkgs/applications/misc/evtest/default.nix5
-rw-r--r--pkgs/applications/misc/gmrun/default.nix4
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix4
-rw-r--r--pkgs/applications/misc/nut/default.nix5
-rw-r--r--pkgs/applications/misc/qgis/default.nix27
-rw-r--r--pkgs/applications/misc/qgis/r14988.diff38
-rw-r--r--pkgs/applications/misc/rxvt/default.nix2
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix5
-rw-r--r--pkgs/applications/misc/sdcv/default.nix3
-rw-r--r--pkgs/applications/misc/slic3r/default.nix61
-rw-r--r--pkgs/applications/misc/vanitygen/default.nix10
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix2
-rw-r--r--pkgs/applications/misc/xlsfonts/default.nix2
-rw-r--r--pkgs/applications/networking/bittorrentsync/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix19
-rw-r--r--pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch287
-rw-r--r--pkgs/applications/networking/browsers/chromium/sources.nix18
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix2
-rw-r--r--pkgs/applications/networking/iptraf/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/sylpheed/default.nix2
-rw-r--r--pkgs/applications/networking/msmtp/default.nix8
-rw-r--r--pkgs/applications/networking/p2p/gnunet/svn.nix4
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/science/geometry/drgeo/default.nix2
-rw-r--r--pkgs/applications/science/logic/ssreflect/default.nix2
-rw-r--r--pkgs/applications/science/math/pari/default.nix61
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix2
-rw-r--r--pkgs/applications/science/misc/golly/src-for-default.nix6
-rw-r--r--pkgs/applications/version-management/cvs/default.nix2
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix31
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix6
-rw-r--r--pkgs/applications/version-management/meld/default.nix2
-rw-r--r--pkgs/applications/version-management/rapidsvn/default.nix2
-rw-r--r--pkgs/applications/video/kino/default.nix2
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix17
-rw-r--r--pkgs/applications/window-managers/herbstluftwm/default.nix25
-rw-r--r--pkgs/applications/window-managers/matchbox/default.nix2
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/wmii/default.nix2
-rw-r--r--pkgs/applications/window-managers/xcompmgr/default.nix2
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-contrib.nix4
-rw-r--r--pkgs/build-support/vm/default.nix23
-rw-r--r--pkgs/data/fonts/junicode/default.nix2
-rw-r--r--pkgs/data/fonts/ttf-bitstream-vera/default.nix2
-rw-r--r--pkgs/data/fonts/wqy-zenhei/default.nix2
-rw-r--r--pkgs/data/misc/shared-desktop-ontologies/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/desktop/vte/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix2
-rw-r--r--pkgs/desktops/kde-4.10/default.nix4
-rw-r--r--pkgs/desktops/kde-4.10/kde-package/4.10.4.nix399
-rw-r--r--pkgs/desktops/kde-4.10/kde-package/4.10.5.nix399
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/filesharing.nix7
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix (renamed from pkgs/desktops/kde-4.7/kdeadmin/kcron.nix)0
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix (renamed from pkgs/desktops/kde-4.10/kdenetwork/kfile-plugins.nix)4
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kdenetwork.patch24
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix2
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kget.nix11
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/kppp.nix2
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/krdc.nix3
-rw-r--r--pkgs/desktops/kde-4.10/kdenetwork/krfb.nix6
-rw-r--r--pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix282
-rw-r--r--pkgs/desktops/kde-4.10/oxygen-icons.nix2
-rw-r--r--pkgs/desktops/kde-4.7/default.nix59
-rw-r--r--pkgs/desktops/kde-4.7/files/kde-wallpapers-buildsystem.patch17
-rw-r--r--pkgs/desktops/kde-4.7/files/polkit-install.patch12
-rw-r--r--pkgs/desktops/kde-4.7/kde-baseapps/kate.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kde-baseapps/kde-baseapps.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kde-baseapps/konsole.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kde-package/4.7.4.nix273
-rw-r--r--pkgs/desktops/kde-4.7/kde-package/default.nix127
-rwxr-xr-xpkgs/desktops/kde-4.7/kde-package/kde-manifest.sh145
-rw-r--r--pkgs/desktops/kde-4.7/kde-package/kde-submodules.xslt22
-rw-r--r--pkgs/desktops/kde-4.7/kde-runtime.nix16
-rw-r--r--pkgs/desktops/kde-4.7/kde-wallpapers.nix17
-rw-r--r--pkgs/desktops/kde-4.7/kde-workspace.nix36
-rw-r--r--pkgs/desktops/kde-4.7/kdeaccessibility/jovie.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeaccessibility/kaccessible.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeaccessibility/kmag.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeaccessibility/kmousetool.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeaccessibility/kmouth.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeadmin/ksystemlog.nix5
-rw-r--r--pkgs/desktops/kde-4.7/kdeadmin/kuser.nix5
-rw-r--r--pkgs/desktops/kde-4.7/kdeadmin/system-config-printer-kde.nix33
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/ColorSchemes.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/FindXscreensaver.cmake73
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/HighResolutionWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/IconThemes.nix13
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/WeatherWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/aurorae.nix7
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/desktopthemes.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/emoticons.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/kscreensaver.nix15
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/kwin-styles.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/sounds.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/styles.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdeartwork/wallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdebindings/pykde-purity.patch49
-rw-r--r--pkgs/desktops/kde-4.7/kdebindings/pykde4-new-sip.patch91
-rw-r--r--pkgs/desktops/kde-4.7/kdebindings/pykde4.nix30
-rw-r--r--pkgs/desktops/kde-4.7/kdebindings/smokegen.nix13
-rw-r--r--pkgs/desktops/kde-4.7/kdebindings/smokeqt.nix12
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/FindLibfacile.cmake32
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/blinken.nix8
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/cantor.nix8
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kalgebra.nix8
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kalzium-feature-log.patch15
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kalzium.nix15
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kanagram.nix8
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kbruch.nix8
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kgeography.nix8
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/khangman.nix8
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kig.nix12
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kiten.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/klettres.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kmplot.nix12
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kstars.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/ktouch.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kturtle.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/kwordquiz.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/libkdeedu.nix8
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/marble.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/parley.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/rocs.nix14
-rw-r--r--pkgs/desktops/kde-4.7/kdeedu/step.nix12
-rw-r--r--pkgs/desktops/kde-4.7/kdegames.nix20
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/gwenview.nix15
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/kamera.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/kcolorchooser.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/kdegraphics-strigi-analyzer.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/kdegraphics-thumbnailers.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/kgamma.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/kolourpaint.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/kruler.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/ksaneplugin.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/ksnapshot.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/libkdcraw.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/libkexiv2.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/libkipi.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/libksane.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/mobipocket.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/okular.nix12
-rw-r--r--pkgs/desktops/kde-4.7/kdegraphics/svgpart.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdelibs.nix38
-rw-r--r--pkgs/desktops/kde-4.7/kdemultimedia.nix17
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/FindmsiLBC.cmake19
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/filesharing.nix7
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/kdenetwork.patch24
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/kdnssd.nix7
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/kfile-plugins.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/kget.nix13
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/kopete.nix21
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/kppp.nix7
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/krdc.nix7
-rw-r--r--pkgs/desktops/kde-4.7/kdenetwork/krfb.nix7
-rw-r--r--pkgs/desktops/kde-4.7/kdepim-runtime.nix12
-rw-r--r--pkgs/desktops/kde-4.7/kdepim.nix21
-rw-r--r--pkgs/desktops/kde-4.7/kdepimlibs.nix16
-rw-r--r--pkgs/desktops/kde-4.7/kdeplasma-addons.nix20
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/cervisia.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/dolphin-plugins-git.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/dolphin-plugins-svn.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/find-svn.patch59
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kapptemplate.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kcachegrind.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kdeaccounts-plugin.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kioslave-perldoc.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kioslave-svn.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kmtrace.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kompare.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kpartloader.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kprofilemethod.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kstartperf.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/kuiviewer.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/lokalize.nix13
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/okteta.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/poxml.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/scripts.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/strigi-analyzer.nix13
-rw-r--r--pkgs/desktops/kde-4.7/kdesdk/umbrello.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdetoys/amor.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdetoys/kteatime.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdetoys/ktux.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/ark.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/filelight.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/kcalc.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/kcharselect.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/kdf.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/kfloppy.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/kgpg.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/kremotecontrol.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/ktimer.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/kwallet.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/printer-applet.nix28
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/superkaramba.nix11
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/sweeper.nix9
-rw-r--r--pkgs/desktops/kde-4.7/kdewebdev/kfilereplace.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdewebdev/kimagemapeditor.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdewebdev/klinkstatus.nix12
-rw-r--r--pkgs/desktops/kde-4.7/kdewebdev/kommander.nix9
-rw-r--r--pkgs/desktops/kde-4.7/l10n/default.nix44
-rwxr-xr-xpkgs/desktops/kde-4.7/l10n/l10n-manifest.sh32
-rw-r--r--pkgs/desktops/kde-4.7/l10n/manifest-4.7.4.nix267
-rw-r--r--pkgs/desktops/kde-4.7/oxygen-icons.nix15
-rw-r--r--pkgs/desktops/kde-4.7/support/akonadi/default.nix24
-rw-r--r--pkgs/development/compilers/aldor/default.nix51
-rw-r--r--pkgs/development/compilers/elm/elm-server.nix22
-rw-r--r--pkgs/development/compilers/elm/elm.nix22
-rw-r--r--pkgs/development/compilers/fpc/default.nix2
-rw-r--r--pkgs/development/compilers/go/1.1.nix6
-rw-r--r--pkgs/development/compilers/strategoxt/0.17.nix2
-rw-r--r--pkgs/development/compilers/strategoxt/0.18.nix4
-rw-r--r--pkgs/development/compilers/yap/default.nix2
-rw-r--r--pkgs/development/interpreters/php-xdebug/default.nix3
-rw-r--r--pkgs/development/interpreters/php/5.3.nix16
-rw-r--r--pkgs/development/interpreters/php/5.4.nix23
-rw-r--r--pkgs/development/interpreters/pypy/2.0/default.nix91
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix1
-rw-r--r--pkgs/development/interpreters/python/2.7/default.nix1
-rw-r--r--pkgs/development/interpreters/python/3.2/default.nix87
-rw-r--r--pkgs/development/interpreters/python/3.2/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/3.3/default.nix13
-rw-r--r--pkgs/development/interpreters/python/3.3/setup-hook.sh4
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix920
-rw-r--r--pkgs/development/libraries/aspell/default.nix2
-rw-r--r--pkgs/development/libraries/aspell/dictionaries.nix54
-rw-r--r--pkgs/development/libraries/attica/default.nix4
-rw-r--r--pkgs/development/libraries/audiofile/default.nix11
-rw-r--r--pkgs/development/libraries/confuse/default.nix2
-rw-r--r--pkgs/development/libraries/ctl/default.nix2
-rw-r--r--pkgs/development/libraries/exosip/3.x.nix2
-rw-r--r--pkgs/development/libraries/exosip/default.nix2
-rw-r--r--pkgs/development/libraries/faac/default.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg/default.nix6
-rw-r--r--pkgs/development/libraries/geos/default.nix16
-rw-r--r--pkgs/development/libraries/glib/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix6
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix18
-rw-r--r--pkgs/development/libraries/gtk-sharp-2/default.nix2
-rw-r--r--pkgs/development/libraries/gtkspell/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/Hipmunk/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/SDL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/abstract-deque/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/acid-state/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/active/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/atomic-primops/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-conduit/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/bindings-DSL/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/bindings-posix/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/comonad-transformers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/comonad/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/comonads-fd/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/concatenative/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/contravariant/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-binary-ieee754/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dimensional-tf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dimensional/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dns/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/dual-tree/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fast-logger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/filesystem-conduit/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hackage-db/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-lite.nix14
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-meta/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hinotify/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/hmatrix/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/indents/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/language-java/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/monad-par-extras/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-par/0.3.4.3.nix (renamed from pkgs/development/libraries/haskell/monad-par/0.3.4.2.nix)4
-rw-r--r--pkgs/development/libraries/haskell/network-conduit-tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/numtype-tf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/numtype/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/oeis/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-concurrency/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/postgresql-libpq/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/qrencode/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/random-source/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/semigroupoids/default.nix4
-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/shelly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix5
-rw-r--r--pkgs/development/libraries/haskell/th-orphans/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/threadmanager/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/unbound/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/unix-process-conduit/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/unix-time/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xml-types/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-platform/default.nix58
-rw-r--r--pkgs/development/libraries/haskell/zeromq3-haskell/default.nix4
-rw-r--r--pkgs/development/libraries/ilmbase/default.nix2
-rw-r--r--pkgs/development/libraries/java/junit/default.nix2
-rw-r--r--pkgs/development/libraries/lesstif/default.nix2
-rw-r--r--pkgs/development/libraries/libchamplain/0.6.nix2
-rw-r--r--pkgs/development/libraries/libcm/default.nix2
-rw-r--r--pkgs/development/libraries/libevent/default.nix4
-rw-r--r--pkgs/development/libraries/libgeotiff/default.nix2
-rw-r--r--pkgs/development/libraries/libmad/default.nix11
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix12
-rw-r--r--pkgs/development/libraries/libmrss/default.nix2
-rw-r--r--pkgs/development/libraries/libsamplerate/default.nix19
-rw-r--r--pkgs/development/libraries/libsigcxx/1.2.nix2
-rw-r--r--pkgs/development/libraries/libsigcxx/default.nix2
-rw-r--r--pkgs/development/libraries/libsndfile/default.nix65
-rw-r--r--pkgs/development/libraries/libsoup/default.nix6
-rw-r--r--pkgs/development/libraries/libspatialindex/default.nix20
-rw-r--r--pkgs/development/libraries/libspatialite/default.nix23
-rw-r--r--pkgs/development/libraries/libspotify/default.nix13
-rw-r--r--pkgs/development/libraries/libunwind/default.nix2
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix2
-rw-r--r--pkgs/development/libraries/libvirt/default.nix12
-rw-r--r--pkgs/development/libraries/libvncserver/default.nix2
-rw-r--r--pkgs/development/libraries/libvpx/default.nix23
-rw-r--r--pkgs/development/libraries/libxtc_dxtn/default.nix2
-rw-r--r--pkgs/development/libraries/minmay/default.nix19
-rw-r--r--pkgs/development/libraries/ode/default.nix2
-rw-r--r--pkgs/development/libraries/openal/default.nix2
-rw-r--r--pkgs/development/libraries/openexr/default.nix2
-rw-r--r--pkgs/development/libraries/openexr_ctl/default.nix2
-rw-r--r--pkgs/development/libraries/openldap/default.nix4
-rw-r--r--pkgs/development/libraries/pangomm/2.28.x.nix18
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix8
-rw-r--r--pkgs/development/libraries/soprano/default.nix4
-rw-r--r--pkgs/development/libraries/spice/default.nix1
-rw-r--r--pkgs/development/libraries/ucl/default.nix2
-rw-r--r--pkgs/development/libraries/vmime/default.nix2
-rw-r--r--pkgs/development/libraries/xvidcore/default.nix38
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix3
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix2
-rw-r--r--pkgs/development/python-modules/blivet/default.nix55
-rw-r--r--pkgs/development/python-modules/generic/default.nix6
-rw-r--r--pkgs/development/python-modules/generic/wrap.sh11
-rw-r--r--pkgs/development/python-modules/irclib/default.nix2
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix2
-rw-r--r--pkgs/development/python-modules/pygobject/default.nix2
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix2
-rw-r--r--pkgs/development/python-modules/pyside/generatorrunner.nix2
-rw-r--r--pkgs/development/python-modules/python-sip/default.nix17
-rw-r--r--pkgs/development/python-modules/rhpl/default.nix2
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix24
-rw-r--r--pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch28
-rw-r--r--pkgs/development/python-modules/sqlalchemy-0.7.10-test-failures.patch62
-rw-r--r--pkgs/development/python-modules/xmpppy/default.nix2
-rw-r--r--pkgs/development/qtcreator/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/colormake/default.nix24
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix4
-rw-r--r--pkgs/development/tools/haskell/splot/default.nix4
-rw-r--r--pkgs/development/tools/misc/avarice/default.nix22
-rw-r--r--pkgs/development/tools/misc/avrdude/default.nix2
-rw-r--r--pkgs/development/tools/misc/indent/default.nix2
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix2
-rw-r--r--pkgs/development/tools/misc/openocd/default.nix2
-rw-r--r--pkgs/development/tools/misc/srecord/default.nix20
-rw-r--r--pkgs/development/tools/misc/stm32flash/default.nix26
-rw-r--r--pkgs/development/tools/misc/texi2html/default.nix2
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix29
-rw-r--r--pkgs/games/blobby/default.nix2
-rw-r--r--pkgs/games/eduke32/default.nix2
-rw-r--r--pkgs/games/extremetuxracer/default.nix2
-rw-r--r--pkgs/games/globulation/default.nix2
-rw-r--r--pkgs/games/gnuchess/default.nix2
-rw-r--r--pkgs/games/gtypist/default.nix11
-rw-r--r--pkgs/games/liquidwar/default.nix2
-rw-r--r--pkgs/games/pong3d/default.nix2
-rw-r--r--pkgs/games/xboard/default.nix2
-rw-r--r--pkgs/lib/lists.nix154
-rw-r--r--pkgs/lib/maintainers.nix1
-rw-r--r--pkgs/lib/options.nix7
-rw-r--r--pkgs/lib/strings.nix4
-rw-r--r--pkgs/misc/themes/gtk2/oxygen-gtk/default.nix4
-rw-r--r--pkgs/misc/vim-plugins/default.nix106
-rw-r--r--pkgs/os-specific/linux/dmidecode/default.nix2
-rw-r--r--pkgs/os-specific/linux/e1000e/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/zd1211/default.nix2
-rw-r--r--pkgs/os-specific/linux/frandom/default.nix2
-rw-r--r--pkgs/os-specific/linux/ipsec-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/builder.sh2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.7.nix280
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix2
-rw-r--r--pkgs/os-specific/linux/kqemu/default.nix28
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix2
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/default.nix2
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix18
-rw-r--r--pkgs/os-specific/linux/pam_console/default.nix2
-rw-r--r--pkgs/os-specific/linux/statifier/default.nix2
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix9
-rw-r--r--pkgs/servers/apcupsd/default.nix54
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/firebird/default.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix4
-rw-r--r--pkgs/servers/http/nginx/default.nix5
-rw-r--r--pkgs/servers/http/nginx/default.upstream8
-rw-r--r--pkgs/servers/http/thttpd/default.nix27
-rw-r--r--pkgs/servers/mail/dovecot-pigeonhole/default.nix35
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x-module_dir.patch114
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x.nix41
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix33
-rw-r--r--pkgs/servers/memcached/default.nix1
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix14
-rw-r--r--pkgs/servers/mpd/default.nix80
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix18
-rw-r--r--pkgs/servers/rpcbind/default.nix2
-rw-r--r--pkgs/servers/sabnzbd/default.nix2
-rw-r--r--pkgs/servers/xmpp/pyIRCt/default.nix2
-rw-r--r--pkgs/shells/ipython/default.nix4
-rw-r--r--pkgs/tools/X11/autocutsel/default.nix2
-rw-r--r--pkgs/tools/X11/wmctrl/default.nix20
-rw-r--r--pkgs/tools/admin/webdruid/src-for-default.nix2
-rw-r--r--pkgs/tools/archivers/atool/default.nix4
-rw-r--r--pkgs/tools/archivers/cromfs/default.nix4
-rw-r--r--pkgs/tools/backup/httrack/default.nix19
-rw-r--r--pkgs/tools/backup/partimage/default.nix2
-rw-r--r--pkgs/tools/backup/rdiff-backup/default.nix2
-rw-r--r--pkgs/tools/backup/tarsnap/default.nix6
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix4
-rw-r--r--pkgs/tools/compression/lzip/default.nix2
-rw-r--r--pkgs/tools/compression/upx/default.nix2
-rw-r--r--pkgs/tools/filesystems/dosfstools/default.nix9
-rw-r--r--pkgs/tools/filesystems/extundelete/default.nix21
-rw-r--r--pkgs/tools/filesystems/jfsrec/default.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/default.nix28
-rw-r--r--pkgs/tools/graphics/barcode/default.nix3
-rw-r--r--pkgs/tools/graphics/dmtx/default.nix2
-rw-r--r--pkgs/tools/graphics/editres/default.nix2
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix19
-rw-r--r--pkgs/tools/graphics/pstoedit/default.nix2
-rw-r--r--pkgs/tools/misc/bmon/default.nix25
-rw-r--r--pkgs/tools/misc/dmg2img/default.nix6
-rw-r--r--pkgs/tools/misc/ethtool/default.nix15
-rw-r--r--pkgs/tools/misc/hddtemp/default.nix4
-rw-r--r--pkgs/tools/misc/hdf5/default.nix2
-rw-r--r--pkgs/tools/misc/man-db/default.nix2
-rw-r--r--pkgs/tools/misc/mdbtools/default.nix2
-rw-r--r--pkgs/tools/misc/minicom/default.nix6
-rw-r--r--pkgs/tools/misc/mktorrent/default.nix2
-rw-r--r--pkgs/tools/misc/renameutils/default.nix2
-rw-r--r--pkgs/tools/misc/ttf2pt1/default.nix2
-rw-r--r--pkgs/tools/misc/units/default.nix2
-rw-r--r--pkgs/tools/misc/venus/default.nix50
-rw-r--r--pkgs/tools/misc/vfdecrypt/default.nix2
-rw-r--r--pkgs/tools/networking/aria/default.nix2
-rw-r--r--pkgs/tools/networking/dd-agent/default.nix3
-rw-r--r--pkgs/tools/networking/easyrsa/default.nix45
-rw-r--r--pkgs/tools/networking/eggdrop/default.nix2
-rw-r--r--pkgs/tools/networking/filegive/default.nix5
-rw-r--r--pkgs/tools/networking/flvstreamer/default.nix2
-rw-r--r--pkgs/tools/networking/gmvault/default.nix1
-rw-r--r--pkgs/tools/networking/gvpe/src-for-default.nix2
-rw-r--r--pkgs/tools/networking/iftop/default.nix13
-rw-r--r--pkgs/tools/networking/iperf/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix10
-rw-r--r--pkgs/tools/networking/nss-pam-ldapd/default.nix4
-rw-r--r--pkgs/tools/networking/philter/default.nix2
-rw-r--r--pkgs/tools/networking/speedtest-cli/default.nix26
-rw-r--r--pkgs/tools/networking/uwimap/default.nix12
-rw-r--r--pkgs/tools/networking/wicd/dhclient.patch21
-rw-r--r--pkgs/tools/package-management/guix/default.nix12
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/package-management/nixops/default.nix7
-rw-r--r--pkgs/tools/security/apg/apg.patch44
-rw-r--r--pkgs/tools/security/apg/default.nix6
-rw-r--r--pkgs/tools/security/bmrsa/11.nix2
-rw-r--r--pkgs/tools/security/clamav/default.nix2
-rw-r--r--pkgs/tools/security/oath-toolkit/default.nix2
-rw-r--r--pkgs/tools/security/pwgen/default.nix2
-rw-r--r--pkgs/tools/system/pciutils/default.nix31
-rw-r--r--pkgs/tools/system/smartmontools/default.nix10
-rw-r--r--pkgs/tools/system/thinkfan/default.nix2
-rw-r--r--pkgs/tools/text/cheetah-template/2.0.1.nix2
-rw-r--r--pkgs/tools/text/numdiff/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix235
-rw-r--r--pkgs/top-level/haskell-packages.nix22
-rw-r--r--pkgs/top-level/node-packages-generated.nix5909
-rw-r--r--pkgs/top-level/node-packages.json13
-rw-r--r--pkgs/top-level/node-packages.nix50
-rw-r--r--pkgs/top-level/perl-packages.nix538
-rw-r--r--pkgs/top-level/platforms.nix5
-rw-r--r--pkgs/top-level/python-packages.nix637
-rw-r--r--pkgs/top-level/release-python.nix32
-rw-r--r--pkgs/top-level/release-small.nix1
-rw-r--r--pkgs/top-level/release.nix1
543 files changed, 9745 insertions, 7118 deletions
diff --git a/maintainers/scripts/nix-generate-from-cpan.pl b/maintainers/scripts/nix-generate-from-cpan.pl
index 1eb6c51a16a..1d9f926ec55 100755
--- a/maintainers/scripts/nix-generate-from-cpan.pl
+++ b/maintainers/scripts/nix-generate-from-cpan.pl
@@ -51,15 +51,21 @@ print STDERR "unpacked to: $pkg_path\n";
 my $meta;
 if (-e "$pkg_path/META.yml") {
     eval {
-	$meta = YAML::XS::LoadFile("$pkg_path/META.yml");
+        $meta = YAML::XS::LoadFile("$pkg_path/META.yml");
     };
     if ($@) {
-	system("iconv -f windows-1252 -t utf-8 '$pkg_path/META.yml' > '$pkg_path/META.yml.tmp'");
-	$meta = YAML::XS::LoadFile("$pkg_path/META.yml.tmp");
+        system("iconv -f windows-1252 -t utf-8 '$pkg_path/META.yml' > '$pkg_path/META.yml.tmp'");
+        $meta = YAML::XS::LoadFile("$pkg_path/META.yml.tmp");
     }
+} elsif (-e "$pkg_path/META.json") {
+    local $/;
+    open(my $fh, '<', "$pkg_path/META.json") or die;
+    $meta = decode_json(<$fh>);
+} else {
+    warn "package has no META.yml or META.json\n";
 }
 
-print STDERR "metadata: ", encode_json($meta), "\n";
+print STDERR "metadata: ", encode_json($meta), "\n" if defined $meta;
 
 # Map a module to the attribute corresponding to its package
 # (e.g. HTML::HeadParser will be mapped to HTMLParser, because that
@@ -120,11 +126,13 @@ my $homepage = $meta->{resources}->{homepage};
 print STDERR "homepage: $homepage\n" if defined $homepage;
 
 my $description = $meta->{abstract};
-$description = uc(substr($description, 0, 1)) . substr($description, 1); # capitalise first letter
-$description =~ s/\.$//; # remove period at the end
-$description =~ s/\s*$//;
-$description =~ s/^\s*//;
-print STDERR "description: $description\n";
+if (defined $description) {
+    $description = uc(substr($description, 0, 1)) . substr($description, 1); # capitalise first letter
+    $description =~ s/\.$//; # remove period at the end
+    $description =~ s/\s*$//;
+    $description =~ s/^\s*//;
+    print STDERR "description: $description\n";
+}
 
 my $license = $meta->{license};
 if (defined $license) {
@@ -156,7 +164,7 @@ EOF
 print <<EOF if defined $homepage;
       homepage = $homepage;
 EOF
-print <<EOF;
+print <<EOF if defined $description;
       description = "$description";
 EOF
 print <<EOF if defined $license;
diff --git a/maintainers/scripts/nixpkgs-lint.nix b/maintainers/scripts/nixpkgs-lint.nix
new file mode 100644
index 00000000000..5eb7649d58d
--- /dev/null
+++ b/maintainers/scripts/nixpkgs-lint.nix
@@ -0,0 +1,22 @@
+{ stdenv, makeWrapper, perl, perlPackages }:
+
+stdenv.mkDerivation {
+  name = "nixpkgs-lint-1";
+
+  buildInputs = [ makeWrapper perl perlPackages.XMLSimple ];
+
+  unpackPhase = "true";
+  buildPhase = "true";
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp ${./nixpkgs-lint.pl} $out/bin/nixpkgs-lint
+      wrapProgram $out/bin/nixpkgs-lint --set PERL5LIB $PERL5LIB
+    '';
+
+  meta = {
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    description = "A utility for Nixpkgs contributors to check Nixpkgs for common errors";
+  };
+}
diff --git a/maintainers/scripts/nixpkgs-lint.pl b/maintainers/scripts/nixpkgs-lint.pl
new file mode 100755
index 00000000000..0b1519ef15c
--- /dev/null
+++ b/maintainers/scripts/nixpkgs-lint.pl
@@ -0,0 +1,115 @@
+#! /run/current-system/sw/bin/perl -w
+
+use strict;
+use List::Util qw(min);
+use XML::Simple qw(:strict);
+use Data::Dumper;
+
+my $filter = "*";
+
+my $xml = `nix-env -f . -qa '$filter' --xml --meta --drv-path`;
+
+my $info = XMLin($xml, KeyAttr => { 'item' => '+attrPath', 'meta' => 'name' }, ForceArray => 1, SuppressEmpty => '' ) or die "cannot parse XML output";
+
+#print Dumper($info);
+
+my %pkgsByName;
+
+foreach my $attr (sort keys %{$info->{item}}) {
+    my $pkg = $info->{item}->{$attr};
+    #print STDERR "attr = $attr, name = $pkg->{name}\n";
+    $pkgsByName{$pkg->{name}} //= [];
+    push @{$pkgsByName{$pkg->{name}}}, $pkg;
+}
+
+# Check meta information.
+print "=== Package meta information ===\n\n";
+my $nrMissingMaintainers = 0;
+my $nrMissingDescriptions = 0;
+my $nrBadDescriptions = 0;
+my $nrMissingLicenses = 0;
+
+foreach my $attr (sort keys %{$info->{item}}) {
+    my $pkg = $info->{item}->{$attr};
+
+    my $pkgName = $pkg->{name};
+    $pkgName =~ s/-[0-9].*//;
+
+    # Check the maintainers.
+    my @maintainers;
+    my $x = $pkg->{meta}->{maintainers};
+    if (defined $x && $x->{type} eq "strings") {
+        @maintainers = map { $_->{value} } @{$x->{string}};
+    } elsif (defined $x->{value}) {
+        @maintainers = ($x->{value});
+    }
+
+    if (scalar @maintainers == 0) {
+        print "$attr: Lacks a maintainer\n";
+        $nrMissingMaintainers++;
+    }
+
+    # Check the license.
+    if (!defined $pkg->{meta}->{license}) {
+        print "$attr: Lacks a license\n";
+        $nrMissingLicenses++;
+    }
+
+    # Check the description.
+    my $description = $pkg->{meta}->{description}->{value};
+    if (!$description) {
+        print "$attr: Lacks a description\n";
+        $nrMissingDescriptions++;
+    } else {
+        my $bad = 0;
+        if ($description =~ /^\s/) {
+            print "$attr: Description starts with whitespace\n";
+            $bad = 1;
+        }
+        if ($description =~ /\s$/) {
+            print "$attr: Description ends with whitespace\n";
+            $bad = 1;
+        }
+        if ($description =~ /\.$/) {
+            print "$attr: Description ends with a period\n";
+            $bad = 1;
+        }
+        if (index(lc($description), lc($attr)) != -1) {
+            print "$attr: Description contains package name\n";
+            $bad = 1;
+        }
+        $nrBadDescriptions++ if $bad;
+    }
+}
+print "\n";
+
+# Find packages that have the same name.
+print "=== Package name collisions ===\n\n";
+
+my $nrCollisions = 0;
+foreach my $name (sort keys %pkgsByName) {
+    my @pkgs = @{$pkgsByName{$name}};
+
+    # Filter attributes that are aliases of each other (e.g. yield the
+    # same derivation path).
+    my %drvsSeen;
+    @pkgs = grep { my $x = $drvsSeen{$_->{drvPath}}; $drvsSeen{$_->{drvPath}} = 1; !defined $x } @pkgs;
+
+    # Filter packages that have a lower priority.
+    my $highest = min (map { $_->{priority} // 0 } @pkgs);
+    @pkgs = grep { ($_->{priority} // 0) == $highest } @pkgs;
+
+    next if scalar @pkgs == 1;
+
+    $nrCollisions++;
+    print "The following attributes evaluate to a package named ‘$name’:\n";
+    print "  ", join(", ", map { $_->{attrPath} } @pkgs), "\n\n";
+}
+
+print "=== Bottom line ===\n";
+print "Number of packages: ", scalar(keys %{$info->{item}}), "\n";
+print "Number of missing maintainers: $nrMissingMaintainers\n";
+print "Number of missing licenses: $nrMissingLicenses\n";
+print "Number of missing descriptions: $nrMissingDescriptions\n";
+print "Number of bad descriptions: $nrBadDescriptions\n";
+print "Number of name collisions: $nrCollisions\n";
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 5e3d056f498..34e98ae620d 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = http://netcologne.dl.sourceforge.net/project/csound/csound5/csound5.18/Csound5.18.02.tar.gz;
+    url = mirror://sourceforge/csound/Csound5.18.02.tar.gz;
     sha256 = "4c461cf3bf60b83671224949dd33805379b7121bf2c0ad6af5e191e7f6f8adc8";
   };
 
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index 18a31460987..c421dcc60cb 100644
--- a/pkgs/applications/audio/easytag/default.nix
+++ b/pkgs/applications/audio/easytag/default.nix
@@ -1,22 +1,32 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libid3tag, id3lib, libvorbis, libogg, flac }:
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, glib, libid3tag, id3lib, taglib
+, libvorbis, libogg, flac
+}:
 
-let
-
-  version = "2.1.7";
-  sha256 = "bfed34cbdce96aca299a0db2b531dbc66feb489b911a34f0a9c67f2eb6ee9301";
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "easytag-${version}";
+  version = "2.1.8";
+
   src = fetchurl {
-    url = "mirror://sourceforge/easytag/easytag-${version}.tar.bz2";
-    inherit sha256;
+    url = "mirror://gnome/sources/easytag/2.1/${name}.tar.xz";
+    sha256 = "1ab5iv0a83cdf07qzi81ydfk5apay06nxags9m07msqalz4pabqs";
   };
 
-  buildInputs = [ pkgconfig gtk libid3tag id3lib libvorbis libogg flac ];
+  preConfigure = ''
+    # pkg-config v0.23 should be enough.
+    sed -i -e '/_pkg_min_version=0.24/s/24/23/' \
+           -e 's/have_mp3=no/have_mp3=yes/' \
+           -e 's/ID3TAG_DEPS="id3tag"/ID3TAG_DEPS=""/' configure
+  '';
+
+  NIX_LDFLAGS = "-lid3tag -lz";
+
+  buildInputs = [
+    pkgconfig intltool gtk glib libid3tag id3lib taglib libvorbis libogg flac
+  ];
 
   meta = {
-    description = "an utility for viewing and editing tags for various audio files";
-    homepage = http://http://easytag.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
+    description = "View and edit tags for various audio files";
+    homepage = "http://projects.gnome.org/easytag/";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 70a405b3fd6..b0c5a88cb1a 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -10,12 +10,24 @@ stdenv.mkDerivation  rec {
     sha256 = "1x73a5rsyvfmh1j0484kzgnk251q61g1g2jdja673l8fizi0xd24";
   };
 
-  buildInputs = [ alsaLib glib jackaudio libsndfile pkgconfig pulseaudio ];
+  preBuild = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i '40 i\
+    #include <CoreAudio/AudioHardware.h>\
+    #include <CoreAudio/AudioHardwareDeprecated.h>' \
+    src/drivers/fluid_coreaudio.c
+  '';
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin
+    "-framework CoreAudio";
+
+  buildInputs = [ glib libsndfile pkgconfig ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ alsaLib pulseaudio jackaudio ];
 
   meta = with stdenv.lib; {
-    description = "real-time software synthesizer based on the SoundFont 2 specifications";
-    homepage = http://www.fluidsynth.org;
-    license = licenses.lgpl2;
-    maintainers = [ maintainers.goibhniu ];
+    description = "Real-time software synthesizer based on the SoundFont 2 specifications";
+    homepage    = http://www.fluidsynth.org;
+    license     = licenses.lgpl2;
+    maintainers = with maintainers; [ goibhniu lovek323 ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/lingot/default.nix b/pkgs/applications/audio/lingot/default.nix
index e93f6ffc584..44d946af2db 100644
--- a/pkgs/applications/audio/lingot/default.nix
+++ b/pkgs/applications/audio/lingot/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "lingot-0.9.0";
 
   src = fetchurl {
-    url = http://download.savannah.gnu.org/releases/lingot/lingot-0.9.0.tar.gz;
+    url = mirror://savannah/lingot/lingot-0.9.0.tar.gz;
     sha256 = "07z129lp8m4sz608q409wb11c639w7cbn497r7bscgg08p6c07xb";
   };
 
diff --git a/pkgs/applications/audio/mi2ly/default.nix b/pkgs/applications/audio/mi2ly/default.nix
new file mode 100644
index 00000000000..1d736b06938
--- /dev/null
+++ b/pkgs/applications/audio/mi2ly/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="mi2ly";
+    version="0.12";
+    name="${baseName}-${version}";
+    hash="1b14zcwlvnxhjxr3ymyzg0mg4sbijkinzpxm641s859jxcgylmll";
+    url="http://download.savannah.gnu.org/releases/mi2ly/mi2ly.0.12.tar.bz2";
+    sha256="1b14zcwlvnxhjxr3ymyzg0mg4sbijkinzpxm641s859jxcgylmll";
+  };
+  buildInputs = [
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+
+  sourceRoot=".";
+
+  buildPhase = "./cc";
+  installPhase = ''
+    mkdir -p "$out"/{bin,share/doc/mi2ly}
+    cp mi2ly "$out/bin"
+    cp README Doc.txt COPYING Manual.txt "$out/share/doc/mi2ly"
+  '';
+
+  meta = {
+    inherit (s) version;
+    description = ''MIDI to Lilypond converter'';
+    license = stdenv.lib.licenses.gpl2Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/mi2ly/default.upstream b/pkgs/applications/audio/mi2ly/default.upstream
new file mode 100644
index 00000000000..131f0e3a71d
--- /dev/null
+++ b/pkgs/applications/audio/mi2ly/default.upstream
@@ -0,0 +1,3 @@
+url http://download.savannah.gnu.org/releases/mi2ly/
+ensure_choice
+version '.*/mi2ly[.]([0-9.]+)[.]tar.*' '\1'
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index a8c33329227..e31798a101b 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pythonPackages, pygobject, gst_python
+{ stdenv, fetchurl, pythonPackages, pygobject, gst_python
 , gst_plugins_good, gst_plugins_base
 }:
 
@@ -7,7 +7,7 @@ pythonPackages.buildPythonPackage rec {
 
   version = "0.14.2";
 
-  src = fetchgit {
+  src = fetchurl {
     url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
     sha256 = "0fqx7lk9g61d744b951cwx0szqbyji58dhw2ravnq9785nkhi7i4";
   };
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 80de5567000..029c2ba4bcd 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl, alsaLib }:
 
 stdenv.mkDerivation {
-  name = "mpg123-1.12.3";
+  name = "mpg123-1.15.4";
 
   src = fetchurl {
-    url = mirror://sourceforge/mpg123/mpg123-1.12.3.tar.bz2;
-    sha256 = "1ij689s7jch3d4g0ja3jylaphallc8vgrsrm9b12254phnyy23xf";
+    url = mirror://sourceforge/mpg123/mpg123-1.15.4.tar.bz2;
+    sha256 = "05aizspky9mp1bq2lfrkjzrsnjykl7gkbrhn93xcarj5b2izv1b8";
   };
 
-  buildInputs = [ alsaLib ];
+  buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
 
   crossAttrs = {
     configureFlags = if stdenv.cross ? mpg123 then
diff --git a/pkgs/applications/audio/normalize/default.nix b/pkgs/applications/audio/normalize/default.nix
index e422eee363c..ca746f524c5 100644
--- a/pkgs/applications/audio/normalize/default.nix
+++ b/pkgs/applications/audio/normalize/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.7.7";
 
   src = fetchurl {
-    url = "http://savannah.nongnu.org/download/normalize/normalize-0.7.7.tar.gz";
+    url = "mirror://savannah/normalize/normalize-0.7.7.tar.gz";
     sha256 = "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0";
   };
 
diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix
index a73744ebbe8..9e0b50b5c0d 100644
--- a/pkgs/applications/audio/pavucontrol/default.nix
+++ b/pkgs/applications/audio/pavucontrol/default.nix
@@ -1,18 +1,18 @@
-{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm, libsigcxx
-, libglademm, libcanberra, intltool, gettext }:
+{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm3
+, libcanberra_gtk3, intltool, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "pavucontrol-1.0";
+  name = "pavucontrol-2.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
-    sha256 = "1plcyrc7p6gqxjhxx2xh6162bkb29wixjrqrjnl9b8g3nrjjigix";
+    sha256 = "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2";
   };
 
-  buildInputs = [ pkgconfig pulseaudio gtkmm libsigcxx libglademm libcanberra
+  buildInputs = [ pkgconfig pulseaudio gtkmm3 libcanberra_gtk3
     intltool gettext ];
 
-  configureFlags = "--disable-lynx --disable-gtk3";
+  configureFlags = "--disable-lynx";
 
   meta = {
     description = "PulseAudio Volume Control";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       easily control the volume of all clients, sinks, etc.
     '';
 
-    homepage = http://0pointer.de/lennart/projects/pavucontrol/;
+    homepage = http://freedesktop.org/software/pulseaudio/pavucontrol/ ;
 
     license = "GPLv2+";
 
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
new file mode 100644
index 00000000000..d9554d5f724
--- /dev/null
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject
+, pythonDBus, gst_python, gst_plugins_base, gst_plugins_good, gst_plugins_ugly }:
+
+let version = "2.5"; in
+
+buildPythonPackage {
+  # call the package quodlibet and just quodlibet
+  name = "quodlibet-${version}";
+  namePrefix = "";
+
+  # XXX, tests fail
+  doCheck = false;
+
+  src = [
+    (fetchurl {
+      url = "https://quodlibet.googlecode.com/files/quodlibet-${version}.tar.gz";
+      sha256 = "0qrmlz7m1jpmriy8bgycjiwzbf3annznkn4x5k32yy9bylxa7lwb";
+     })
+    (fetchurl {
+      url = "https://quodlibet.googlecode.com/files/quodlibet-plugins-${version}.tar.gz";
+      sha256 = "0kf2mkq2zk38626bn48gscvy6ir04f5b2z57ahlxlqy8imv2cjff";
+     })
+  ];       
+
+  sourceRoot = "quodlibet-${version}";
+  postUnpack = ''
+    # the patch searches for plugins in directory ../plugins
+    # so link the appropriate directory there
+    ln -sf quodlibet-plugins-${version} plugins
+  '';
+  patches = [ ./quodlibet-package-plugins.patch ];
+
+  buildInputs = [
+    gst_plugins_base gst_plugins_good gst_plugins_ugly
+  ];
+
+  propagatedBuildInputs = [
+    mutagen pygtk pygobject pythonDBus gst_python
+  ];
+
+  postInstall = ''
+    # Wrap quodlibet so it finds the GStreamer plug-ins
+    wrapProgram "$out/bin/quodlibet" --prefix                                 \
+      GST_PLUGIN_PATH ":"                                                     \
+      "${gst_plugins_base}/lib/gstreamer-0.10:${gst_plugins_good}/lib/gstreamer-0.10:${gst_plugins_ugly}/lib/gstreamer-0.10"
+  '';
+
+  meta = {
+    description = "Quod Libet is a 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
+      the Mutagen tagging library. It's designed around the idea that
+      you know how to organize your music better than we do. It lets
+      you make playlists based on regular expressions (don't worry,
+      regular searches work too). It lets you display and edit any
+      tags you want in the file. And it lets you do this for all the
+      file formats it supports. Quod Libet easily scales to libraries
+      of thousands (or even tens of thousands) of songs. It also
+      supports most of the features you expect from a modern media
+      player, like Unicode support, tag editing, Replay Gain, podcasts
+      & internet radio, and all major audio formats.
+    '';
+
+    homepage = http://code.google.com/p/quodlibet/;
+  };
+}
diff --git a/pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch b/pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch
new file mode 100644
index 00000000000..d518f857cf1
--- /dev/null
+++ b/pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch
@@ -0,0 +1,18 @@
+diff -Naur quodlibet-2.5.orig/setup.py quodlibet-2.5.new/setup.py
+--- quodlibet-2.5.orig/setup.py	2012-12-19 08:47:41.000000000 +0000
++++ quodlibet-2.5.new/setup.py	2013-04-22 19:27:07.152631051 +0000
+@@ -337,5 +338,14 @@
+                 }
+             }
+         })
++    else:
++        from os.path import join
++
++        data_files = []
++        for type in ["playorder", "songsmenu", "editing", "events", "gstreamer"]:
++            data_files.append((join('quodlibet', 'plugins', type),
++                               glob.glob(join('..', 'plugins', type, '*.py'))))
++        setup_kwargs.update({ 'data_files': data_files });
++
+     setup(**setup_kwargs)
+ 
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index c295767687f..fe32aca029b 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -27,7 +27,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/snd/snd-${version}.tar.gz";
+    url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
     sha256 = "0zqgfnkvkqxby1k74mwba1r4pb520glcsz5jjmpzm9m41nqnghmm";
   };
 
diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix
index 4dfe3a204d3..84b810bf460 100644
--- a/pkgs/applications/editors/bvi/default.nix
+++ b/pkgs/applications/editors/bvi/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "bvi-1.3.2";
 
   src = fetchurl {
-    url = http://prdownloads.sourceforge.net/bvi/bvi-1.3.2.src.tar.gz;
+    url = mirror://sourceforge/bvi/bvi-1.3.2.src.tar.gz;
     sha256 = "110wxqnyianqamxq4y53drqqxb9vp4k2fcvic45qggvlqkqhlfgz";
   };
 
diff --git a/pkgs/applications/editors/emacs-modes/bbdb/default.nix b/pkgs/applications/editors/emacs-modes/bbdb/default.nix
index ec7a3e8e600..da92c38d078 100644
--- a/pkgs/applications/editors/emacs-modes/bbdb/default.nix
+++ b/pkgs/applications/editors/emacs-modes/bbdb/default.nix
@@ -4,6 +4,7 @@ stdenv.mkDerivation {
   name = "bbdb-2.35";
 
   src = fetchurl {
+    # not using mirror:// because it produces a different file
     url = http://bbdb.sourceforge.net/bbdb-2.35.tar.gz;
     sha256 = "3fb1316e2ed74d47ca61187fada550e58797467bd9e8ad67343ed16da769f916";
   };
diff --git a/pkgs/applications/editors/emacs-modes/color-theme/default.nix b/pkgs/applications/editors/emacs-modes/color-theme/default.nix
index 9cc0e7fd42b..327e11bf086 100644
--- a/pkgs/applications/editors/emacs-modes/color-theme/default.nix
+++ b/pkgs/applications/editors/emacs-modes/color-theme/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "color-theme-6.6.0";
 
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/color-theme/${name}.tar.gz";
+    url = "mirror://savannah/color-theme/${name}.tar.gz";
     sha256 = "0yx1ghcjc66s1rl0v3d4r1k88ifw591hf814ly3d73acvh15zlsn";
   };
 
diff --git a/pkgs/applications/editors/emacs-modes/haskell/default.nix b/pkgs/applications/editors/emacs-modes/haskell/default.nix
index 7e490f253d1..a1e52e1c301 100644
--- a/pkgs/applications/editors/emacs-modes/haskell/default.nix
+++ b/pkgs/applications/editors/emacs-modes/haskell/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, fetchurl, emacs }:
+{ stdenv, fetchurl, emacs, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "haskell-mode-2.9.1-102-g8d4b965";
+  name = "haskell-mode-13.07";
 
   src = fetchurl {
-    url = "https://github.com/haskell/haskell-mode/tarball/8d4b9651a69b62fcbedbac63de29a1e87ff0e97f";
-    sha256 = "02sil43885xjbfqakrxkm7bjnjd930lx6845fc2rxmkq5plkq85a";
-    name = "${name}.tar.gz";
+    url = "https://github.com/haskell/haskell-mode/archive/v13.07.tar.gz";
+    sha256 = "15c8ncj9mykkrizy1a8l94gq37s8hj13v3p5rgyaj9z0cwgl85kx";
   };
 
-  buildInputs = [emacs];
+  buildInputs = [ emacs texinfo ];
 
   installPhase = ''
     mkdir -p "$out/share/emacs/site-lisp"
diff --git a/pkgs/applications/editors/emacs-modes/php/default.nix b/pkgs/applications/editors/emacs-modes/php/default.nix
index ec160dccd9f..2b3cf7b2971 100644
--- a/pkgs/applications/editors/emacs-modes/php/default.nix
+++ b/pkgs/applications/editors/emacs-modes/php/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "php-mode-1.5.0";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/php-mode/${name}.tar.gz";
+    url = "mirror://sourceforge/php-mode/${name}.tar.gz";
     sha256 = "1bffgg4rpiggxqc1hvjcby24sfyzj5728zg7r6f4v6a126a7kcfq";
   };
 
diff --git a/pkgs/applications/editors/emacs-modes/session-management-for-emacs/default.nix b/pkgs/applications/editors/emacs-modes/session-management-for-emacs/default.nix
index 185bc20021e..0d2fcf09786 100644
--- a/pkgs/applications/editors/emacs-modes/session-management-for-emacs/default.nix
+++ b/pkgs/applications/editors/emacs-modes/session-management-for-emacs/default.nix
@@ -4,8 +4,7 @@ stdenv.mkDerivation rec {
   name = "session-management-for-emacs-2.2a";
   
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/emacs-session/session/2.2a/session-2.2a.tar.gz";
-#    url = "mirror://sourceforge.net/sourceforge/emacs-session/session-2.2a.tar.gz";
+    url = "mirror://sourceforge/emacs-session/session-2.2a.tar.gz";
     sha256 = "37dfba7420b5164eab90dafa9e8bf9a2c8f76505fe2fefa14a64e81fa76d0144";
   };
 
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index ff8da0e0947..a3e40004550 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -41,8 +41,10 @@ stdenv.mkDerivation rec {
     sed -i -e 's/as_fn_error.*int32.*/:/' src/auto/configure
   '';
   
-  meta = {
+  meta = with stdenv.lib; {
     description = "The most popular clone of the VI editor";
-    homepage = http://www.vim.org;
+    homepage    = http://www.vim.org;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix
index 2f31b568e34..6a212a7a931 100644
--- a/pkgs/applications/graphics/alchemy/default.nix
+++ b/pkgs/applications/graphics/alchemy/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, jre}:
 
 stdenv.mkDerivation {
-  name = "alchemy-007-alpha";
+  name = "alchemy-007";
   enableParallelBuilding = true;
 
   src = fetchurl {
diff --git a/pkgs/applications/graphics/exrdisplay/default.nix b/pkgs/applications/graphics/exrdisplay/default.nix
index 65c86a6cf97..7b415df42f5 100644
--- a/pkgs/applications/graphics/exrdisplay/default.nix
+++ b/pkgs/applications/graphics/exrdisplay/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   name ="openexr_viewers-1.0.1";
 
   src = fetchurl {
-    url =  "http://download.savannah.nongnu.org/releases/openexr/openexr_viewers-1.0.1.tar.gz";
+    url =  "mirror://savannah/openexr/openexr_viewers-1.0.1.tar.gz";
     sha256 = "1w5qbcdp7sw48z1wk2v07f7p14vqqb1m2ncxyxnbkm9f4ab0ymg6";
   };
 
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index b4c1fccf9dc..4e12e232081 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -4,18 +4,18 @@
 , python, pygtk, libart_lgpl, libexif, gettext, xlibs }:
 
 stdenv.mkDerivation rec {
-  name = "gimp-2.8.4";
+  name = "gimp-2.8.6";
 
   src = fetchurl {
     url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
-    md5 = "392592e8755d046317878d226145900f";
+    md5 = "12b3fdf33d1f07ae79b412a9e38b9693";
   };
 
   buildInputs =
     [ pkgconfig intltool babl gegl gtk glib gdk_pixbuf pango cairo
       freetype fontconfig lcms libpng libjpeg poppler libtiff webkit
       libmng librsvg libwmf zlib libzip ghostscript aalib jasper
-      python pygtk libart_lgpl libexif gettext
+      python pygtk libart_lgpl libexif gettext xlibs.libXpm
     ];
 
   passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ?
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 962cb387c73..d314d93ea4c 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -107,7 +107,7 @@ rec {
     name = "texturize-2.1";
     buildInputs = [ gimp ] ++ gimp.nativeBuildInputs;
     src = fetchurl {
-      url = http://prdownloads.sourceforge.net/gimp-texturize/texturize-2.1_src.tgz;
+      url = mirror://sourceforge/gimp-texturize/texturize-2.1_src.tgz;
       sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
     };
     installPhase = "installPlugins src/texturize";
@@ -148,7 +148,7 @@ rec {
       name = "gmic-1.3.2.0";
       buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
       src = fetchurl {
-        url = http://dfn.dl.sourceforge.net/sourceforge/gmic/gmic_1.3.2.0.tar.gz;
+        url = mirror://sourceforge/gmic/gmic_1.3.2.0.tar.gz;
         sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
       };
       preConfigure = ''
diff --git a/pkgs/applications/graphics/pinta/default.nix b/pkgs/applications/graphics/pinta/default.nix
index b845abacf7e..b54d73b4964 100644
--- a/pkgs/applications/graphics/pinta/default.nix
+++ b/pkgs/applications/graphics/pinta/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "pinta-1.4";
 
   src = fetchurl {
-    url = "https://github.com/PintaProject/pinta/tarball/3f7ccfa93d";
+    url = "https://github.com/PintaProject/Pinta/tarball/3f7ccfa93d";
     name = "pinta-1.4.tar.gz";
     sha256 = "1kgb4gy5l6bd0akniwhiqqkvqayr5jgdsvn2pgg1038q9raafnpn";
   };
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index e83824bd685..2ff82412409 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "rapcad-${version}";
 
   src = fetchgit {
-    url = "git://git.rapcad.org/rapcad";
+    url = "https://github.com/GilesBathgate/RapCAD.git";
     rev = "refs/tags/v${version}";
     sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
   };
diff --git a/pkgs/applications/graphics/sane/backends-git.nix b/pkgs/applications/graphics/sane/backends-git.nix
index 2455923bbb8..c9cea4109dc 100644
--- a/pkgs/applications/graphics/sane/backends-git.nix
+++ b/pkgs/applications/graphics/sane/backends-git.nix
@@ -5,12 +5,12 @@ in
 assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
 
 stdenv.mkDerivation {
-  name = "sane-backends-1.0.22.482-g071f226";
+  name = "sane-backends-1.0.23.296-gf139120";
 
   src = fetchgit {
     url = "http://git.debian.org/git/sane/sane-backends.git";
-    rev = "071f2269cd68d3411cbfa05a3d028b74496db970";
-    sha256 = "178xkv30m6irk4k0gqnfcl5kramm1qyj24dar8gp32428z1444xf";
+    rev = "f139120c72db6de98be95b52c206c2a4d8071e92";
+    sha256 = "1b2fv19c8ijh9l0jjilli3j70n17wvcgpqq1nxmiby3ai6nrzk8d";
   };
 
   udevSupport = hotplugSupport;
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.sane-project.org/";
     description = "Scanner Access Now Easy";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix
index 7cca0c8f8ab..23a2d23b1ae 100644
--- a/pkgs/applications/graphics/seg3d/default.nix
+++ b/pkgs/applications/graphics/seg3d/default.nix
@@ -4,7 +4,7 @@ libuuid }:
 assert (stdenv ? glibc);
 
 stdenv.mkDerivation {
-  name = "seg3d-1.12";
+  name = "seg3d-1.12_20090930";
   src = fetchurl {
     url = http://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz;
     sha256 = "1wr6rc6v5qjjkmws8yrc03z35h3iydxk1z28p06v1wdnca0y71z8";
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 23b5092cd4d..01060909f3d 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng
-, imagemagick, libjpeg, fontconfig, podofo, qt4, icu, sqlite
-, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, udisks, libusb1, libmtp
+, imagemagick, libjpeg, fontconfig, podofo, qt48, icu, sqlite
+, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, libusb1, libmtp
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-0.8.70";
-  # 0.9.* versions won't build: https://bugs.launchpad.net/calibre/+bug/1094719
+  name = "calibre-0.9.11";
+  # 0.9.12+ versions won't build due to missing qt4 private headers: https://bugs.launchpad.net/calibre/+bug/1094719
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "12avwp8r6cnrw6c32gmd2hksa9rszdb76zs6fcmr3n8r1wkwa71g";
+    sha256 = "0jjs2cx222pbv4nrivlxag5fxa0v9m63x7arcll6xi173zdn4gg8";
   };
 
   inherit python;
@@ -18,10 +18,10 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ python pyqt4 sip popplerQt4 libpng imagemagick libjpeg
-      fontconfig podofo qt4 pil chmlib icu
+      fontconfig podofo qt48 pil chmlib icu
       pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
-      pythonPackages.cssutils pythonPackages.beautifulsoup
-      pythonPackages.sqlite3 sqlite udisks libusb1 libmtp
+      pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow
+      pythonPackages.sqlite3 pythonPackages.netifaces sqlite libusb1 libmtp
     ];
 
   installPhase = ''
@@ -46,11 +46,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Comprehensive e-book software";
     homepage = http://calibre-ebook.com;
-    license = "GPLv3";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ viric iElectric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/evtest/default.nix b/pkgs/applications/misc/evtest/default.nix
index 58b4f0d01bf..635775e75ac 100644
--- a/pkgs/applications/misc/evtest/default.nix
+++ b/pkgs/applications/misc/evtest/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, autoconf, automake, pkgconfig, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "evtest-1.30";
+  name = "evtest-1.31";
 
   preConfigure = "autoreconf -iv";
 
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "git://anongit.freedesktop.org/evtest";
-    rev = "1a50f2479c4775e047f234a24d95dda82441bfbd";
+    rev = "871371806017301373b8b0e5b7e8f168ce1ea13f";
+    sha256 = "1hxldlldlrb9lnnybn839a97fpqd1cixbmci2wzgr0rzhjbwhcgp";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/gmrun/default.nix b/pkgs/applications/misc/gmrun/default.nix
index 930df87214a..0b19eef3c8c 100644
--- a/pkgs/applications/misc/gmrun/default.nix
+++ b/pkgs/applications/misc/gmrun/default.nix
@@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
   name = "gmrun-${version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/gmrun/gmrun/${version}/${name}.tar.gz";
-    md5 = "6cef37a968006d9496fc56a7099c603c";
+    url = "mirror://sourceforge/gmrun/${name}.tar.gz";
+    sha256 = "180z6hbax1qypy5cyy2z6nn7fzxla4ib47ck8mqwr714ag77na8p";
   };
 
   buildInputs = [ glib gtk2 pkgconfig popt ];
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index de1df426052..baf97e7a824 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
 
 let
   name = "ikiwiki";
-  version = "3.20130212";
+  version = "3.20130518";
 
   lib = stdenv.lib;
 in
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
-    sha256 = "1svajjhrwaq7wwgmhaxc2ld12cla3pdi9i7m8ll2rfa11cdhhf6m";
+    sha256 = "00mmxxlbzv6bz3cz3746r5lqwby6liwsg7m3jfba8258y52w13qp";
   };
 
   buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index 157ecc0ffd8..078ea7fcbd8 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi }:
+{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi
+, libtool }:
 
 stdenv.mkDerivation rec {
   name = "nut-2.6.5";
@@ -8,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0gxrzsblx0jc4g9w0903ybwqbv1d79vq5hnks403fvnay4fgg3b1";
   };
 
-  buildInputs = [ neon libusb openssl udev avahi freeipmi ];
+  buildInputs = [ neon libusb openssl udev avahi freeipmi libtool ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/applications/misc/qgis/default.nix b/pkgs/applications/misc/qgis/default.nix
index 834b3f0cfbe..d6711c82968 100644
--- a/pkgs/applications/misc/qgis/default.nix
+++ b/pkgs/applications/misc/qgis/default.nix
@@ -1,25 +1,32 @@
 { stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, x11, sqlite, gsl,
-  pyqt4, qwt, fcgi, python }:
+  pyqt4, qwt, fcgi, python, libspatialindex, libspatialite }:
 
 stdenv.mkDerivation rec {
-  name = "qgis-1.6.0";
+  name = "qgis-1.8.0";
 
   buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 qwt
-    fcgi ];
+    fcgi libspatialindex libspatialite ];
 
-  nativeBuildInputs = [ cmake python];
+  nativeBuildInputs = [ cmake python ];
 
-  patches = [ ./r14988.diff ];
+  enableParallelBuilding = true;
+
+  # To handle the lack of 'local' RPATH; required, as they call one of
+  # their built binaries requiring their libs, in the build process.
+  preBuild = ''
+    export LD_LIBRARY_PATH=`pwd`/output/lib:$LD_LIBRARY_PATH
+  '';
 
   src = fetchurl {
     url = "http://qgis.org/downloads/${name}.tar.bz2";
-    sha256 = "0vlz1z3scj3k6nxf3hzfiq7k2773i6xvk6dvj4axs2f4njpnx7pr";
+    sha256 = "1aq32ch61bqsvh39lmrxah1fmh18cd3nqyi1l0sn6ssa3kwf82vh";
   };
 
   meta = {
-    description = "user friendly Open Source Geographic Information System";
-    homepage = ttp://www.qgis.org;
-    # you can choose one of the following licenses:
-    license = [ "GPL" ];
+    description = "User friendly Open Source Geographic Information System";
+    homepage = http://www.qgis.org;
+    license = "GPLv2+";
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [viric];
   };
 }
diff --git a/pkgs/applications/misc/qgis/r14988.diff b/pkgs/applications/misc/qgis/r14988.diff
deleted file mode 100644
index 95d55047e1d..00000000000
--- a/pkgs/applications/misc/qgis/r14988.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-Index: qgis/python/core/conversions.sip
-===================================================================
---- qgis/python/core/conversions.sip	(revision 14323)
-+++ qgis/python/core/conversions.sip	(revision 14988)
-@@ -16,4 +16,5 @@
- 
- %Feature QSETINT_CONVERSION
-+%Feature QSETTYPE_CONVERSION
- 
- %ModuleHeaderCode
-@@ -321,5 +322,5 @@
- %End
- 
--
-+%If (QSETTYPE_CONVERSION)
- template <TYPE>
- %MappedType QSet<TYPE>
-@@ -395,6 +396,5 @@
- 
- };
--
--
-+%End
- 
- template<TYPE>
-Index: qgis/python/CMakeLists.txt
-===================================================================
---- qgis/python/CMakeLists.txt	(revision 14330)
-+++ qgis/python/CMakeLists.txt	(revision 14988)
-@@ -44,4 +44,8 @@
- ENDIF(NOT PYQT4_VERSION_NUM LESS 263941)
- 
-+IF(NOT PYQT4_VERSION_NUM LESS 264194)	# 0x040802
-+  SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} QSETTYPE_CONVERSION)
-+ENDIF(NOT PYQT4_VERSION_NUM LESS 264194)
-+
- # core module
- FILE(GLOB sip_files_core core/*.sip)
diff --git a/pkgs/applications/misc/rxvt/default.nix b/pkgs/applications/misc/rxvt/default.nix
index 13597f3ee9b..c3b5fc861a8 100644
--- a/pkgs/applications/misc/rxvt/default.nix
+++ b/pkgs/applications/misc/rxvt/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "rxvt-2.6.4";
 
   src = fetchurl {
-    url = http://downloads.sourceforge.net/rxvt/rxvt-2.6.4.tar.gz;
+    url = mirror://sourceforge/rxvt/rxvt-2.6.4.tar.gz;
     sha256 = "0hi29whjv8v11nkjbq1i6ms411v6csykghmlpkmayfjn9nxr02xg";
   };
 
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index d52fd178165..2afa6c08696 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl,
-  fontconfig, freetype, pkgconfig, libXrender }:
+  fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf }:
 
 let 
   name = "rxvt-unicode";
@@ -19,7 +19,8 @@ stdenv.mkDerivation (rec {
   buildInputs =
     [ libX11 libXt libXft ncurses /* required to build the terminfo file */ 
       fontconfig freetype pkgconfig libXrender ]
-    ++ stdenv.lib.optional perlSupport perl;
+    ++ stdenv.lib.optional perlSupport perl
+    ++ stdenv.lib.optional gdkPixbufSupport gdk_pixbuf;
 
   preConfigure =
     ''
diff --git a/pkgs/applications/misc/sdcv/default.nix b/pkgs/applications/misc/sdcv/default.nix
index 8ac4730de9a..3859d2c82ab 100644
--- a/pkgs/applications/misc/sdcv/default.nix
+++ b/pkgs/applications/misc/sdcv/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     sed -i 's/guint32 page_size/size_t page_size/' src/lib/lib.cpp
   '';
 
-  NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__";
+  NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__"
+    + stdenv.lib.optionalString stdenv.isDarwin " -lintl";
 }
 
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
new file mode 100644
index 00000000000..aa2ceb08e80
--- /dev/null
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchgit, perl, makeWrapper, makeDesktopItem
+# Perl modules:
+, EncodeLocale, MathClipper, ExtUtilsXSpp, BoostGeometryUtils
+, MathConvexHullMonotoneChain, MathGeometryVoronoi, MathPlanePath, Moo
+, IOStringy, ClassXSAccessor, Wx, GrowlGNTP, NetDBus }:
+
+stdenv.mkDerivation rec {
+  version = "0.9.10b";
+  name = "slic3r-${version}";
+
+  # Slic3r doesn't put out tarballs, only a git repository is available
+  src = fetchgit {
+    url = "git://github.com/alexrj/Slic3r";
+    rev = "refs/tags/${version}";
+    sha256 = "0j06h0z65qn4kyb2b7pnq6bcn4al60q227iz9jlrin0ffx3l0ra7";
+  };
+
+  buildInputs = [ perl makeWrapper
+    EncodeLocale MathClipper ExtUtilsXSpp BoostGeometryUtils
+    MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
+    IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus
+  ];
+
+  desktopItem = makeDesktopItem {
+    name = "slic3r";
+    exec = "slic3r";
+    icon = "slic3r";
+    comment = "G-code generator for 3D printers";
+    desktopName = "Slic3r";
+    genericName = "3D printer tool";
+    categories = "Application;Development;";
+  };
+
+  # Nothing to do here
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out/share/slic3r/"
+    cp -r * "$out/share/slic3r/"
+    wrapProgram "$out/share/slic3r/slic3r.pl" --prefix PERL5LIB : $PERL5LIB
+    mkdir -p "$out/bin"
+    ln -s "$out/share/slic3r/slic3r.pl" "$out/bin/slic3r"
+    mkdir -p "$out/share/pixmaps/"
+    ln -s "$out/share/slic3r/var/Slic3r.png" "$out/share/pixmaps/slic3r.png"
+    mkdir -p "$out/share/applications"
+    cp "$desktopItem"/share/applications/* "$out/share/applications/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "G-code generator for 3D printers";
+    longDescription = ''
+      Slic3r is the tool you need to convert a digital 3D model into printing
+      instructions for your 3D printer. It cuts the model into horizontal
+      slices (layers), generates toolpaths to fill them and calculates the
+      amount of material to be extruded.'';
+    homepage = http://slic3r.org/;
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/misc/vanitygen/default.nix b/pkgs/applications/misc/vanitygen/default.nix
index 1aa3f57ecca..c68767290ee 100644
--- a/pkgs/applications/misc/vanitygen/default.nix
+++ b/pkgs/applications/misc/vanitygen/default.nix
@@ -1,13 +1,13 @@
-{ fetchurl, stdenv, openssl, pcre }:
+{ fetchgit, stdenv, openssl, pcre }:
 
 stdenv.mkDerivation rec {
   version = "0.21";
   name = "vanitygen-${version}";
 
-  src = fetchurl {
-    name = "vanitygen-${version}.tar.gz";
-    url = "https://github.com/samr7/vanitygen/tarball/0.21";
-    sha256 = "1lj0gi08lg0pcby5pbpi08ysynzy24qa1n1065112shkpasi0kxv";
+  src = fetchgit {
+    url = "https://github.com/samr7/vanitygen";
+    rev = "refs/tags/${version}";
+    sha256  = "1vzfv74hhiyrrpvjca8paydx1ashgbgn5plzrx4swyzxy1xkamah";
   };
 
   buildInputs = [ openssl pcre ];
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index 3179e1f3440..b159dd282e2 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "xfontsel-1.0.2";
 
   src = fetchurl {
-    url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
+    url = "mirror://xorg/individual/app/${name}.tar.bz2";
     sha256 = "1a86a08sf0wjrki9ydh7hr5qf6hrixc4ljlxizakjzmx20wvlrks";
   };
 
diff --git a/pkgs/applications/misc/xlsfonts/default.nix b/pkgs/applications/misc/xlsfonts/default.nix
index 8fe930ce9a5..879f5ae568c 100644
--- a/pkgs/applications/misc/xlsfonts/default.nix
+++ b/pkgs/applications/misc/xlsfonts/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "xlsfonts-1.0.2";
 
   src = fetchurl {
-    url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
+    url = "mirror://xorg/individual/app/${name}.tar.bz2";
     sha256 = "070iym754g3mf9x6xczl4gdnpvlk6rdyl1ndwhpjl21vg2dm2vnc";
   };
 
diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix
index ae339abb799..a8c4a535258 100644
--- a/pkgs/applications/networking/bittorrentsync/default.nix
+++ b/pkgs/applications/networking/bittorrentsync/default.nix
@@ -14,9 +14,9 @@ let
     else if stdenv.system == "i686-linux" then "ld-linux.so.2"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
-  version = "1.0.134";
-  sha256 = if stdenv.system == "x86_64-linux" then "1kyxiqjabqgsg7n0a8snh03axxzpniazp93shb2l1b6x0f7d24n7"
-    else if stdenv.system == "i686-linux" then "02wb8pqcb1rk108r49cqyg7s14grmjnkr6p3068pkiwdwwgi8jak"
+  version = "1.1.42";
+  sha256 = if stdenv.system == "x86_64-linux" then "07gcjzhhr8simkjjxhyzkvh3748ll81d742fz7j31nwdi34my8ri"
+    else if stdenv.system == "i686-linux" then "0awf5bfhb4dp4aydzrgdp3wqv1mz6ys1z45i0r1hbqszvf44xj7c"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
 in stdenv.mkDerivation {
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index b5557cc1200..8188d5279a7 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -18,6 +18,9 @@
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
 
+# dependency for version 30
+, file
+
 # package customization
 , channel ? "stable"
 , enableSELinux ? false, libselinux ? null
@@ -87,7 +90,9 @@ let
   # user namespace sandbox patch
   userns_patch = if versionOlder sourceInfo.version "29.0.0.0"
                  then ./sandbox_userns.patch
-                 else ./sandbox_userns_29.patch;
+                 else if versionOlder sourceInfo.version "30.0.0.0"
+                      then ./sandbox_userns_29.patch
+                      else ./sandbox_userns_30.patch;
 
 in stdenv.mkDerivation rec {
   name = "${packageName}-${version}";
@@ -115,7 +120,8 @@ in stdenv.mkDerivation rec {
     ++ optionals gnomeSupport [ gconf libgcrypt ]
     ++ optional enableSELinux libselinux
     ++ optional cupsSupport libgcrypt
-    ++ optional pulseSupport pulseaudio;
+    ++ optional pulseSupport pulseaudio
+    ++ optional (!versionOlder sourceInfo.version "30.0.0.0") file;
 
   opensslPatches = optional useOpenSSL openssl.patches;
 
@@ -145,6 +151,15 @@ in stdenv.mkDerivation rec {
     use_cups = cupsSupport;
     linux_sandbox_path="${libExecPath}/${packageName}_sandbox";
     linux_sandbox_chrome_path="${libExecPath}/${packageName}";
+    werror = "";
+
+    # Google API keys, see http://www.chromium.org/developers/how-tos/api-keys.
+    # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
+    # please get your own set of keys.
+    google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
+    google_default_client_id = "404761575300.apps.googleusercontent.com";
+    google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D";
+
   } // optionalAttrs proprietaryCodecs {
     # enable support for the H.264 codec
     proprietary_codecs = true;
diff --git a/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch b/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch
new file mode 100644
index 00000000000..ef1a08ee313
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch
@@ -0,0 +1,287 @@
+commit b9a1fa30eb3296b169f51ffa8ee05513c5c1dbae
+Author: aszlig <aszlig@redmoonstudios.org>
+Date:   Thu May 16 14:17:56 2013 +0200
+
+    zygote: Add support for user namespaces on Linux.
+    
+    The implementation is done by patching the Zygote host to execute the sandbox
+    binary with CLONE_NEWUSER and setting the uid and gid mapping so that the child
+    process is using uid 0 and gid 0 which map to the current user of the parent.
+    Afterwards, the sandbox will continue as if it was called as a setuid binary.
+    
+    In addition, this adds new_user_namespace as an option in process_util in order
+    to set the UID and GID mapping correctly. The reason for this is that just
+    passing CLONE_NEWUSER to clone_flags doesn't help in LaunchProcess(), because
+    without setting the mappings exec*() will clear the process's capability sets.
+    
+    If the kernel doesn't support unprivileged user namespaces and the sandbox
+    binary doesn't have the setuid flag, the Zygote main process will run without a
+    sandbox. This is to mimic the behaviour if no SUID sandbox binary path is set.
+    
+    Signed-off-by: aszlig <aszlig@redmoonstudios.org>
+
+diff --git a/base/process/launch.h b/base/process/launch.h
+index 45b1053..ce71418 100644
+--- a/base/process/launch.h
++++ b/base/process/launch.h
+@@ -51,6 +51,7 @@ struct LaunchOptions {
+         new_process_group(false)
+ #if defined(OS_LINUX)
+         , clone_flags(0)
++        , new_user_namespace(false)
+ #endif  // OS_LINUX
+ #if defined(OS_CHROMEOS)
+         , ctrl_terminal_fd(-1)
+@@ -125,6 +126,9 @@ struct LaunchOptions {
+ #if defined(OS_LINUX)
+   // If non-zero, start the process using clone(), using flags as provided.
+   int clone_flags;
++
++  // If true, start the process in a new user namespace.
++  bool new_user_namespace;
+ #endif  // defined(OS_LINUX)
+ 
+ #if defined(OS_CHROMEOS)
+diff --git a/base/process/launch_posix.cc b/base/process/launch_posix.cc
+index 336633c..4b50a5d 100644
+--- a/base/process/launch_posix.cc
++++ b/base/process/launch_posix.cc
+@@ -36,6 +36,13 @@
+ #include "base/threading/platform_thread.h"
+ #include "base/threading/thread_restrictions.h"
+ 
++#if defined(OS_LINUX)
++#include <sched.h>
++#if !defined(CLONE_NEWUSER)
++#define CLONE_NEWUSER 0x10000000
++#endif
++#endif
++
+ #if defined(OS_CHROMEOS)
+ #include <sys/ioctl.h>
+ #endif
+@@ -395,8 +402,19 @@ bool LaunchProcess(const std::vector<std::string>& argv,
+ 
+   pid_t pid;
+ #if defined(OS_LINUX)
+-  if (options.clone_flags) {
+-    pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
++  int map_pipe_fd[2];
++  int flags = options.clone_flags;
++
++  if (options.new_user_namespace) {
++    flags |= CLONE_NEWUSER;
++    if (pipe(map_pipe_fd) < 0) {
++      DPLOG(ERROR) << "user namespace pipe";
++      return false;
++    }
++  }
++
++  if (options.clone_flags || options.new_user_namespace) {
++    pid = syscall(__NR_clone, flags, 0, 0, 0);
+   } else
+ #endif
+   {
+@@ -409,6 +427,21 @@ bool LaunchProcess(const std::vector<std::string>& argv,
+   } else if (pid == 0) {
+     // Child process
+ 
++#if defined(OS_LINUX)
++    if (options.new_user_namespace) {
++      // Close the write end of the pipe so we get an EOF when the parent closes
++      // the FD. This is to avoid race conditions when the UID/GID mappings are
++      // written _after_ execvp().
++      close(map_pipe_fd[1]);
++
++      char dummy;
++      if (HANDLE_EINTR(read(map_pipe_fd[0], &dummy, 1)) != 0) {
++        RAW_LOG(ERROR, "Unexpected input in uid/gid mapping pipe.");
++        _exit(127);
++      }
++    }
++#endif
++
+     // DANGER: fork() rule: in the child, if you don't end up doing exec*(),
+     // you call _exit() instead of exit(). This is because _exit() does not
+     // call any previously-registered (in the parent) exit handlers, which
+@@ -523,6 +556,40 @@ bool LaunchProcess(const std::vector<std::string>& argv,
+     _exit(127);
+   } else {
+     // Parent process
++#if defined(OS_LINUX)
++    if (options.new_user_namespace) {
++      // We need to write UID/GID mapping here to map the current user outside
++      // the namespace to the root user inside the namespace in order to
++      // correctly "fool" the child process.
++      char buf[256];
++      int map_fd, map_len;
++
++      snprintf(buf, sizeof(buf), "/proc/%d/uid_map", pid);
++      map_fd = open(buf, O_RDWR);
++      DPCHECK(map_fd >= 0);
++      snprintf(buf, sizeof(buf), "0 %d 1", geteuid());
++      map_len = strlen(buf);
++      if (write(map_fd, buf, map_len) != map_len) {
++        RAW_LOG(WARNING, "Can't write to uid_map.");
++      }
++      close(map_fd);
++
++      snprintf(buf, sizeof(buf), "/proc/%d/gid_map", pid);
++      map_fd = open(buf, O_RDWR);
++      DPCHECK(map_fd >= 0);
++      snprintf(buf, sizeof(buf), "0 %d 1", getegid());
++      map_len = strlen(buf);
++      if (write(map_fd, buf, map_len) != map_len) {
++        RAW_LOG(WARNING, "Can't write to gid_map.");
++      }
++      close(map_fd);
++
++      // Close the pipe on the parent, so the child can continue doing the
++      // execvp() call.
++      close(map_pipe_fd[1]);
++    }
++#endif
++
+     if (options.wait) {
+       // While this isn't strictly disk IO, waiting for another process to
+       // finish is the sort of thing ThreadRestrictions is trying to prevent.
+diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc
+index bb84e62..bce0d18 100644
+--- a/content/browser/zygote_host/zygote_host_impl_linux.cc
++++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
+@@ -119,25 +119,31 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
+ 
+   sandbox_binary_ = sandbox_cmd.c_str();
+ 
+-  // A non empty sandbox_cmd means we want a SUID sandbox.
+-  using_suid_sandbox_ = !sandbox_cmd.empty();
++  bool userns_sandbox = false;
++  const std::vector<std::string> cmd_line_unwrapped(cmd_line.argv());
+ 
+-  if (using_suid_sandbox_) {
++  if (!sandbox_cmd.empty()) {
+     struct stat st;
+     if (stat(sandbox_binary_.c_str(), &st) != 0) {
+       LOG(FATAL) << "The SUID sandbox helper binary is missing: "
+                  << sandbox_binary_ << " Aborting now.";
+     }
+ 
+-    if (access(sandbox_binary_.c_str(), X_OK) == 0 &&
+-        (st.st_uid == 0) &&
+-        (st.st_mode & S_ISUID) &&
+-        (st.st_mode & S_IXOTH)) {
++    if (access(sandbox_binary_.c_str(), X_OK) == 0) {
++      using_suid_sandbox_ = true;
++
+       cmd_line.PrependWrapper(sandbox_binary_);
+ 
+       scoped_ptr<sandbox::SetuidSandboxClient>
+           sandbox_client(sandbox::SetuidSandboxClient::Create());
+       sandbox_client->SetupLaunchEnvironment();
++
++      if (!((st.st_uid == 0) &&
++            (st.st_mode & S_ISUID) &&
++            (st.st_mode & S_IXOTH))) {
++        userns_sandbox = true;
++        sandbox_client->SetNoSuid();
++      }
+     } else {
+       LOG(FATAL) << "The SUID sandbox helper binary was found, but is not "
+                     "configured correctly. Rather than run without sandboxing "
+@@ -161,7 +167,19 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
+   base::ProcessHandle process = -1;
+   base::LaunchOptions options;
+   options.fds_to_remap = &fds_to_map;
++  if (userns_sandbox)
++    options.new_user_namespace = true;
+   base::LaunchProcess(cmd_line.argv(), options, &process);
++
++  if (process == -1 && userns_sandbox) {
++    LOG(ERROR) << "User namespace sandbox failed to start, running without "
++               << "sandbox! You need at least kernel 3.8.0 with CONFIG_USER_NS "
++               << "enabled in order to use the sandbox without setuid bit.";
++    using_suid_sandbox_ = false;
++    options.new_user_namespace = false;
++    base::LaunchProcess(cmd_line_unwrapped, options, &process);
++  }
++
+   CHECK(process != -1) << "Failed to launch zygote process";
+ 
+   if (using_suid_sandbox_) {
+diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc
+index dcea4c0..c06b4ae 100644
+--- a/content/zygote/zygote_main_linux.cc
++++ b/content/zygote/zygote_main_linux.cc
+@@ -398,6 +398,13 @@ static bool EnterSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
+       *has_started_new_init = true;
+     }
+ 
++    // Don't set non-dumpable, as it causes trouble when the host tries to find
++    // the zygote process (XXX: Not quite sure why this happens with user
++    // namespaces). Fortunately, we also have the seccomp filter sandbox which
++    // should disallow the use of ptrace.
++    if (setuid_sandbox->IsNoSuid())
++      return true;
++
+ #if !defined(OS_OPENBSD)
+     // Previously, we required that the binary be non-readable. This causes the
+     // kernel to mark the process as non-dumpable at startup. The thinking was
+diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
+index 34231d4..36e3201 100644
+--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
++++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
+@@ -166,6 +166,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const {
+   return env_->HasVar(kSandboxNETNSEnvironmentVarName);
+ }
+ 
++bool SetuidSandboxClient::IsNoSuid() const {
++  return env_->HasVar(kSandboxNoSuidVarName);
++}
++
+ bool SetuidSandboxClient::IsSandboxed() const {
+   return sandboxed_;
+ }
+@@ -175,5 +179,9 @@ void SetuidSandboxClient::SetupLaunchEnvironment() {
+   SetSandboxAPIEnvironmentVariable(env_);
+ }
+ 
++void SetuidSandboxClient::SetNoSuid() {
++  env_->SetVar(kSandboxNoSuidVarName, "1");
++}
++
+ }  // namespace sandbox
+ 
+diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.h b/sandbox/linux/suid/client/setuid_sandbox_client.h
+index a9f6536..2e8113a 100644
+--- a/sandbox/linux/suid/client/setuid_sandbox_client.h
++++ b/sandbox/linux/suid/client/setuid_sandbox_client.h
+@@ -39,6 +39,8 @@ class SetuidSandboxClient {
+   bool IsInNewPIDNamespace() const;
+   // Did the setuid helper create a new network namespace ?
+   bool IsInNewNETNamespace() const;
++  // Is sandboxed without SUID binary ?
++  bool IsNoSuid() const;
+   // Are we done and fully sandboxed ?
+   bool IsSandboxed() const;
+ 
+@@ -46,6 +48,8 @@ class SetuidSandboxClient {
+   // helper.
+   void SetupLaunchEnvironment();
+ 
++  void SetNoSuid();
++
+  private:
+   // Holds the environment. Will never be NULL.
+   base::Environment* env_;
+diff --git a/sandbox/linux/suid/common/sandbox.h b/sandbox/linux/suid/common/sandbox.h
+index aad4ff8..bd710d5 100644
+--- a/sandbox/linux/suid/common/sandbox.h
++++ b/sandbox/linux/suid/common/sandbox.h
+@@ -18,6 +18,7 @@ static const char kAdjustLowMemMarginSwitch[] = "--adjust-low-mem";
+ 
+ static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D";
+ static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID";
++static const char kSandboxNoSuidVarName[] = "SBX_NO_SUID";
+ 
+ static const long kSUIDSandboxApiNumber = 1;
+ static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";
diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix
index 952ecf2a6f1..31d9ed10b4c 100644
--- a/pkgs/applications/networking/browsers/chromium/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/sources.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   dev = {
-    version = "29.0.1547.0";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1547.0.tar.xz";
-    sha256 = "0ydinl0zrsm995rcpph4i56335nzhp1fqnlz39lg4vbjsshchh9x";
+    version = "30.0.1573.2";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1573.2.tar.xz";
+    sha256 = "1pbph4jz0svaawk06zajq73x0xm73f9kdiflhad2709f4y23gzjz";
   };
   beta = {
-    version = "28.0.1500.52";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.52.tar.xz";
-    sha256 = "1d0q8lsvwqkaninmnyc8jjj0pnqxc5rr3lr3mgzj37avksxvyg3v";
+    version = "29.0.1547.32";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1547.32.tar.xz";
+    sha256 = "14p5s1xn15mdrlf87hv4y9kczw5r8s461a56kkdzb5xzyq25ph8w";
   };
   stable = {
-    version = "28.0.1500.52";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.52.tar.xz";
-    sha256 = "1d0q8lsvwqkaninmnyc8jjj0pnqxc5rr3lr3mgzj37avksxvyg3v";
+    version = "28.0.1500.71";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.71.tar.xz";
+    sha256 = "1w8hkbb17bwq9myhj7fig27pn50qlwdfrqs04xjvam4ah3w6qb0r";
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index 110f9522030..4f7d3feb8ad 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
@@ -47,18 +47,18 @@ stdenv.mkDerivation rec {
   name = "google-talk-plugin-${version}";
   # Use the following to determine the current upstream version:
   # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | sed -nr 's/^Version: *([^ ]+)-1$/\1/p'
-  version = "3.17.0.0";
+  version = "4.2.1.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
-        sha256 = "1annx2zhxgn3wl468w7sk93k4xhmnx5bbdjr0d1ar7979hvrdl1x";
+        sha256 = "1g7kpz2lzzz1gri5rd3isp7cfyls6gzwcw2kc8jgrgrixq9iixfd";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
-        sha256 = "13fza920vg3qig2pnlr65mzcmmy3izla95zdpa3pk28qlfij0ryc";
+        sha256 = "1z0zbblzlky9nyifxmnl49v4zafpqp3l08b9v1486sinm35rf58r";
       }
     else throw "Google Talk does not support your platform.";
 
diff --git a/pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix b/pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix
index 8bb28f7ce00..9cf2558ef32 100644
--- a/pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix
+++ b/pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix
@@ -9,7 +9,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = http://downloads.sourceforge.net/funpidgin/carrier-2.5.0.tar.bz2;
+    url = mirror://sourceforge/funpidgin/carrier-2.5.0.tar.bz2;
     sha256 = "0m80s7hnvz5vc2dy3xiy1zfb6incmb7p28zahzxdif2vz44riz28";
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
index 868b5dbb342..7f7d5abccfd 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
@@ -1,7 +1,7 @@
 args : with args; 
 rec {
   src = fetchurl {
-    url = http://mesh.dl.sourceforge.net/sourceforge/pidgin-latex/pidgin-latex-1.2.1.tar.bz2;
+    url = mirror://sourceforge/pidgin-latex/pidgin-latex-1.2.1.tar.bz2;
     sha256 = "19h76fwsx5y30l5wda2930k10r385aipngfljz5bdi7b9y52lii7";
   };
 
diff --git a/pkgs/applications/networking/iptraf/default.nix b/pkgs/applications/networking/iptraf/default.nix
index 1d4c772d6f7..f0a6dbbe7e7 100644
--- a/pkgs/applications/networking/iptraf/default.nix
+++ b/pkgs/applications/networking/iptraf/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "iptraf-3.0.0";
+  name = "iptraf-3.0.1";
   
   src = fetchurl {
-    url = ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz;
-    sha256 = "0qsi5f8d84mgdszvz22acyv6mjnbrpk55d54km9i5mkkapck7r4y";
+    url = ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.1.tar.gz;
+    md5 = "004c2c005a1b78739e22bc49d33e244d";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
index bf9e19642b8..31e65a857df 100644
--- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix
+++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
@@ -11,7 +11,7 @@ assert sslSupport -> openssl != null;
 assert gpgSupport -> gpgme != null;
 
 stdenv.mkDerivation {
-  name = "sylpheed-3.2";
+  name = "sylpheed-3.2.0";
 
   src = fetchurl {
     url = http://sylpheed.sraoss.jp/sylpheed/v3.2/sylpheed-3.2.0.tar.bz2;
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index bf0ca68177b..584fdcd170a 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -1,18 +1,20 @@
 { stdenv, fetchurl, openssl, pkgconfig, gnutls, gsasl, libidn }:
+
 stdenv.mkDerivation rec {
-  name = "msmtp-1.4.30";
+  name = "msmtp-1.4.31";
 
   src = fetchurl {
     url = "mirror://sourceforge/msmtp/${name}.tar.bz2";
-    sha256 = "11lq82byx9xyfkf4nrcfjjfv5k8gk3bf8zlw0kml1qrndqlvjlpi";
+    sha256 = "0pr29kb7qsz4q6yfw5wvmw1wm4axi8kc97qhhmp50bx2bylzjyi4";
   };
 
   buildInputs = [ openssl pkgconfig gnutls gsasl libidn ];
 
   meta = {
-      description = "a MUA";
+      description = "Simple and easy to use SMTP client with excellent sendmail compatibility";
       homepage = "http://msmtp.sourceforge.net/";
       license = stdenv.lib.licenses.gpl3;
       maintainers = [ stdenv.lib.maintainers.garbas ];
+      platforms = stdenv.lib.platforms.linux;
     };
 }
diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/svn.nix
index eb05461ec85..b6b9db99f90 100644
--- a/pkgs/applications/networking/p2p/gnunet/svn.nix
+++ b/pkgs/applications/networking/p2p/gnunet/svn.nix
@@ -4,7 +4,7 @@
 , makeWrapper, autoconf, automake }:
 
 let
-  rev = "27399";
+  rev = "27775";
 in
 stdenv.mkDerivation rec {
   name = "gnunet-svn-${rev}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   src = fetchsvn {
     url =  https://gnunet.org/svn/gnunet;
     inherit rev;
-    sha256 = "0fn7ppfnc4v6lkxwww11s0h8mdvwyv7f40f6wrbfilqpn2ncrf8c";
+    sha256 = "1fa2g63rrn0mmim9v62gnm2hqr556mbcafb7cs7afycbinix4spf";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index d8634e31dad..8f89d70405a 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -21,11 +21,11 @@
 assert printerSupport -> cups != null;
 stdenv.mkDerivation rec {
   name = "freerdp-${version}";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchurl {
     url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
-    sha256 = "1my8gamvfrn6v9gcqxsa9cgxr42shc0l826zvxj8wpcay6gd321w";
+    sha256 = "1w9dk7dsbppspnnms2xwwmbg7jm61i7aw5nkwzbpdyxngbgkgwf0";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/geometry/drgeo/default.nix b/pkgs/applications/science/geometry/drgeo/default.nix
index 2b10ec238c9..c18a6ed7426 100644
--- a/pkgs/applications/science/geometry/drgeo/default.nix
+++ b/pkgs/applications/science/geometry/drgeo/default.nix
@@ -2,7 +2,7 @@ args : with args;
 let version = lib.attrByPath ["version"] "1.1.0" args; in
 rec {
   src = fetchurl {
-    url = http://downloads.sourceforge.net/ofset/drgeo-1.1.0.tar.gz;
+    url = mirror://sourceforge/ofset/drgeo-1.1.0.tar.gz;
     sha256 = "05i2czgzhpzi80xxghinvkyqx4ym0gm9f38fz53idjhigiivp4wc";
   };
 
diff --git a/pkgs/applications/science/logic/ssreflect/default.nix b/pkgs/applications/science/logic/ssreflect/default.nix
index 764954f54f8..6377db9c895 100644
--- a/pkgs/applications/science/logic/ssreflect/default.nix
+++ b/pkgs/applications/science/logic/ssreflect/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = "${webpage}/${name}-coq8.4.tar.gz";
+    url = "http://ssr.msr-inria.inria.fr/FTP/${name}-coq8.4.tar.gz";
     sha256 = "1ysx29xw09i86lq0d92z9cnyx133jfgq4qddy3501000fn7xwi7h";
   };
 
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index 43291d792b7..5fda04fed4f 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -1,50 +1,25 @@
-x@{builderDefsPackage
-  , perl, zlib, gmp, readline
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, gmp, readline }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="pari";
-    version="2.5.0";
-    name="${baseName}-${version}";
-    url="http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
-    hash="18ipxj4hzj7s3fqz878fiypkzrkbjj8wvbygz9j8c3ya06q27jax";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "pari-2.5.4";
+
+  src = fetchurl {
+    url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
+    sha256 = "0gpsj5n8d1gyl7nq2y915sscs3d334ryrv8qgjdwqf3cr95f2dwz";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [gmp readline];
+
+  configureScript = "./Configure";
+  configureFlags =
+    "--with-gmp=${gmp} " +
+    "--with-readline=${readline}";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-  configureCommand="./Configure";
-      
   meta = {
     description = "Computer algebra system for high-performance number theory computations";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = "GPLv2+";
-    homepage = "http://pari.math.u-bordeaux.fr/";
+    homepage    = "http://pari.math.u-bordeaux.fr/";
+    license     = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [ertes raskin];
+    platforms   = stdenv.lib.platforms.linux;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 9d8bc705fa4..0bc5c3cb7c7 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "boinc-7.0.44";
 
   src = fetchgit {
-    url = "git://boinc.berkeley.edu/boinc.git";
+    url = "git://boinc.berkeley.edu/boinc-v2.git";
     rev = "7c449b1fb8a681ceb27d6895751b62a2b3adf0f2";
     sha256 = "0hdramyl9nip3gadp7xiaz8ngyld15i93d8ai1nsd04bmrvdfqia";
   };
diff --git a/pkgs/applications/science/misc/golly/src-for-default.nix b/pkgs/applications/science/misc/golly/src-for-default.nix
index 00038373d56..50d3d41a8ba 100644
--- a/pkgs/applications/science/misc/golly/src-for-default.nix
+++ b/pkgs/applications/science/misc/golly/src-for-default.nix
@@ -1,8 +1,8 @@
 rec {
-   version="2.4-src";
-   name="golly-2.4-src";
+   version="2.4";
+   name="golly-2.4";
    hash="06vajm019q4q4wfy6pc1669fbjqdb4jaxcc419bk0vzky40anl9w";
-   url="http://downloads.sourceforge.net/project/golly/golly/golly-2.4/golly-2.4-src.tar.gz";
+   url="mirror://sourceforge/golly/golly-2.4-src.tar.gz";
    advertisedUrl="http://downloads.sourceforge.net/project/golly/golly/golly-2.4/golly-2.4-src.tar.gz";
   
   
diff --git a/pkgs/applications/version-management/cvs/default.nix b/pkgs/applications/version-management/cvs/default.nix
index 0be984df761..0e43972fab6 100644
--- a/pkgs/applications/version-management/cvs/default.nix
+++ b/pkgs/applications/version-management/cvs/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "cvs-1.12.13";
 
   src = fetchurl {
-    url = http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2;
+    url = mirror://savannah/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2;
     sha256 = "0pjir8cwn0087mxszzbsi1gyfc6373vif96cw4q3m1x6p49kd1bq";
   };
 
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
new file mode 100644
index 00000000000..92cdddd8dcb
--- /dev/null
+++ b/pkgs/applications/version-management/diffuse/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, python, pygtk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.7";
+  name = "diffuse-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${name}.tar.bz2";
+    sha256 = "1b1riy9wix2gby78v9i30ijycjhkcyqsllggjakbkx26sb5nmxdh";
+  };
+
+  buildInputs = [ python pygtk makeWrapper ];
+
+  buildPhase = ''
+    python ./install.py --prefix="$out" --sysconfdir="$out/etc" --pythonbin="${python}/bin/python"
+    wrapProgram "$out/bin/diffuse" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0
+  '';
+
+  # no-op, everything is done in buildPhase
+  installPhase = "true";
+
+  # NOTE: diffuse installs a .desktop file itself
+
+  meta = with stdenv.lib; {
+    description = "Graphical diff and merge tool";
+    homepage = http://diffuse.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
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 7b56d8f92da..e53f60c9be0 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.20130627";
-  sha256 = "1q9hdh7m04idx1nm631624s37p6w1b9j1z5n06j2449b3pxqrn3y";
+  version = "4.20130723";
+  sha256 = "1fc8kz4n2g4x9fzvdx4bz4d8gkbajdnqphldcglwl23g97vyrn6i";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index d93d6b5836c..9a08d665f99 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -10,7 +10,7 @@
 
 let
 
-  version = "1.8.2.3";
+  version = "1.8.3.2";
 
   svn = subversionClient.override { perlBindings = true; };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha1 = "2831f7deec472db4d0d0cdffb4d82d91cecdf295";
+    sha256 = "0mfylhcdrh8prxkbs0gc877rmra2ks48bchg4hhaf2vpw9hpdf63";
   };
 
   patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
   # required to support pthread_cancel()
   NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
 
-  makeFlags = "prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell} "
+  makeFlags = "prefix=\${out} sysconfdir=/etc/ PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell} "
       + (if pythonSupport then "PYTHON_PATH=${python}/bin/python" else "NO_PYTHON=1")
       + (if stdenv.isSunOS then " INSTALL=install NO_INET_NTOP= NO_INET_PTON=" else "");
 
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 6e099cd5608..9c547b2193d 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   name = "meld-${version}";
 
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/gnome/sources/meld/${minor}/meld-${version}.tar.xz";
+    url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
     sha256 = "00rsff0yl5qwzh0igkdns6ry2xsbxad70avpqpkbd2bldi94v76y";
   };
 
diff --git a/pkgs/applications/version-management/rapidsvn/default.nix b/pkgs/applications/version-management/rapidsvn/default.nix
index 3a22338ed7e..264340b4826 100644
--- a/pkgs/applications/version-management/rapidsvn/default.nix
+++ b/pkgs/applications/version-management/rapidsvn/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, wxGTK, subversion, apr, aprutil, python}:
 
 stdenv.mkDerivation {
-  name = "rapidsvn-0.12";
+  name = "rapidsvn-0.12.0-1";
 
   src = fetchurl {
     url = http://www.rapidsvn.org/download/release/0.12/rapidsvn-0.12.0-1.tar.gz;
diff --git a/pkgs/applications/video/kino/default.nix b/pkgs/applications/video/kino/default.nix
index 696c1e4738c..30e0bdfb197 100644
--- a/pkgs/applications/video/kino/default.nix
+++ b/pkgs/applications/video/kino/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
   name = "kino-1.3.4";
 
   src = fetchurl {
-    url = http://downloads.sourceforge.net/kino/kino-1.3.4.tar.gz;
+    url = mirror://sourceforge/kino/kino-1.3.4.tar.gz;
     sha256 = "020s05k0ma83rq2kfs8x474pqicaqp9spar81qc816ddfrnh8k8i";
   };
 
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 91050619e43..1a35b870192 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -2,7 +2,7 @@
 , attr, libcap, vde2, alsaLib, texinfo, libuuid
 , sdlSupport ? true, SDL
 , vncSupport ? true, libjpeg, libpng
-, spiceSupport ? false, spice, spice_protocol
+, spiceSupport ? true, spice, spice_protocol
 , x86Only ? false
 }:
 
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 6ca2c66a35a..264f1259fe5 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -30,10 +30,23 @@ let
     done
   '';
 
-  extensionPack = fetchurl {
-    url = "http://download.virtualbox.org/virtualbox/${version}/Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack";
+  # See https://github.com/NixOS/nixpkgs/issues/672 for details
+  extpackRevision = "86644";
+  extensionPack = requireFile rec {
+    name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
     # Has to be base16 because it's used as an input to VBoxExtPackHelperApp!
     sha256 = "5813cae72790de4893cadb839ffbd148290a44ec6913d901d84c9b3740ab1b1e";
+    message = ''
+      In order to use the extension pack, you need to comply with the VirtualBox Personal Use
+      and Evaluation License (PUEL) by downloading the related binaries from:
+
+      https://www.virtualbox.org/wiki/Downloads
+
+      Once you have downloaded the file, please use the following command and re-run the
+      installation:
+
+      nix-prefetch-url file://${name}
+    '';
   };
 
 in stdenv.mkDerivation {
diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix
new file mode 100644
index 00000000000..3ce50a82915
--- /dev/null
+++ b/pkgs/applications/window-managers/herbstluftwm/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, glib, libX11, libXinerama }:
+
+stdenv.mkDerivation rec {
+  name = "herbstluftwm-0.5.2";
+
+  src = fetchurl {
+    url = "http://herbstluftwm.org/tarballs/${name}.tar.gz";
+    sha256 = "15crb77gw8p1h721r3dcgn0m1n03qk0g81rrnaqw8p7hz44k6gf5";
+  };
+
+  patchPhase = ''
+      sed -i -e "s:/usr/local:$\{out}:" \
+             -e "s:/etc:$\{out}/etc:" \
+          config.mk
+  '';
+
+  buildInputs = [ pkgconfig glib libX11 libXinerama ];
+
+  meta = {
+    description = "A manual tiling window manager for X";
+    homepage = "http://herbstluftwm.org/";
+    license = "BSD"; # Simplified BSD License
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/matchbox/default.nix b/pkgs/applications/window-managers/matchbox/default.nix
index 27a4014d461..ed2637eff6e 100644
--- a/pkgs/applications/window-managers/matchbox/default.nix
+++ b/pkgs/applications/window-managers/matchbox/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, libmatchbox, pkgconfig}:
 
 stdenv.mkDerivation rec {
-  name = "matchbox-1.2.2";
+  name = "matchbox-1.2";
 
   buildInputs = [ libmatchbox pkgconfig ];
 
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
index db0b6e1037c..ab261a78fb0 100644
--- a/pkgs/applications/window-managers/stumpwm/default.nix
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -12,7 +12,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/stumpwm/${pkgName}-${version}.tgz";
+    url = "mirror://savannah/stumpwm/${pkgName}-${version}.tgz";
     sha256 = "a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78";
   };
 
diff --git a/pkgs/applications/window-managers/wmii/default.nix b/pkgs/applications/window-managers/wmii/default.nix
index 3df24cf3360..a44c54f7b57 100644
--- a/pkgs/applications/window-managers/wmii/default.nix
+++ b/pkgs/applications/window-managers/wmii/default.nix
@@ -1,5 +1,5 @@
 args: with args; stdenv.mkDerivation {
-  name = "wmii-20071116";
+  name = "wmii-3.6";
 
   src = fetchurl {
     url = http://dl.suckless.org/wmii/wmii-3.6.tar.gz;
diff --git a/pkgs/applications/window-managers/xcompmgr/default.nix b/pkgs/applications/window-managers/xcompmgr/default.nix
index 3e402b05b94..930b612f691 100644
--- a/pkgs/applications/window-managers/xcompmgr/default.nix
+++ b/pkgs/applications/window-managers/xcompmgr/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "xcompmgr-1.1.6";
   src = fetchurl {
-    url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
+    url = "mirror://xorg/individual/app/${name}.tar.bz2";
     sha256 = "c98949d36793b30ed1ed47495c87a05fa245ac0fc2857d2abc54979124687c02";
   };
   buildInputs = [ pkgconfig libXcomposite libXfixes libXdamage libXrender libXext ];
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
index 218e2126a15..5c00ddf0fd1 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xmonad-contrib";
-  version = "0.11.1";
-  sha256 = "1356dn8ipw7fgn2xijppn69f64zg36gcxbw9qndxbbmml5gq0zrl";
+  version = "0.11.2";
+  sha256 = "0qlc732m6mhvx7g10r69hk5x460kjv2r04s91cnn5yfiia1qfpai";
   buildDepends = [
     extensibleExceptions mtl random utf8String X11 X11Xft xmonad
   ];
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 66998b34130..dbab401d9ba 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -291,7 +291,7 @@ rec {
     args = ["-e" (vmRunCommand qemuCommandLinux)];
     origArgs = attrs.args;
     origBuilder = attrs.builder;
-    QEMU_OPTS = "-m ${toString (if attrs ? memSize then attrs.memSize else 512)}";
+    QEMU_OPTS = "-m ${toString (attrs.memSize or 512)}";
   });
 
 
@@ -599,8 +599,17 @@ rec {
             debs="$debs /inst/$i";
           done
           chroot=$(type -tP chroot)
+
+          # Create a fake start-stop-daemon script, as done in debootstrap.
+          mv "/mnt/sbin/start-stop-daemon" "/mnt/sbin/start-stop-daemon.REAL"
+          echo "#!/bin/true" > "/mnt/sbin/start-stop-daemon"
+          chmod 755 "/mnt/sbin/start-stop-daemon"
+
           PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
             /usr/bin/dpkg --install --force-all $debs < /dev/null || true
+
+          # Move the real start-stop-daemon back into its place.
+          mv "/mnt/sbin/start-stop-daemon.REAL" "/mnt/sbin/start-stop-daemon"
         done
 
         echo "running post-install script..."
@@ -1394,22 +1403,22 @@ rec {
     };
 
     debian70i386 = {
-      name = "debian-7.0.0-wheezy-i386";
-      fullName = "Debian 7.0.0 Wheezy (i386)";
+      name = "debian-7.1.0-wheezy-i386";
+      fullName = "Debian 7.1.0 Wheezy (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2;
-        sha256 = "712939639e2cc82615c85bdf81edf31edef0fda003ac2b32998e438aee403ab8";
+        sha256 = "c2751c48805b41c3eddd31cfe92ffa46df13a7d6ce7896b8dc5ce4b2f7f329c5";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
 
     debian70x86_64 = {
-      name = "debian-7.0.0-wheezy-amd64";
-      fullName = "Debian 7.0.0 Wheezy (amd64)";
+      name = "debian-7.1.0-wheezy-amd64";
+      fullName = "Debian 7.1.0 Wheezy (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2;
-        sha256 = "e79132f7db6655013be1f75feb9812b071386525246d8639679b322487d2732a";
+        sha256 = "9b15b4348cadbcf170c9e83d6fbcb64efac2b787ebdfef16ba21dd70dfca0001";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix
index 1690f82aa37..ea579a589c4 100644
--- a/pkgs/data/fonts/junicode/default.nix
+++ b/pkgs/data/fonts/junicode/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "junicode-0.6.15";
 
   src = fetchurl {
-    url = http://prdownloads.sourceforge.net/junicode/junicode-0.6.15.zip;
+    url = mirror://sourceforge/junicode/junicode-0.6.15.zip;
     sha256 = "0p16r5s6qwyz0hayb6k61s5r2sfachlx7r6gpqqx5myx6ipbfdns";
   };
 
diff --git a/pkgs/data/fonts/ttf-bitstream-vera/default.nix b/pkgs/data/fonts/ttf-bitstream-vera/default.nix
index 64b18ffdaaa..1dfaa376df4 100644
--- a/pkgs/data/fonts/ttf-bitstream-vera/default.nix
+++ b/pkgs/data/fonts/ttf-bitstream-vera/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "ttf-bitstream-vera-1.10";
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2;
+    url = mirror://gnome/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2;
     sha256 = "1p3qs51x5327gnk71yq8cvmxc6wgx79sqxfvxcv80cdvgggjfnyv";
   };
   buildPhase = "true";
diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix
index 698ecc53046..960c74f6841 100644
--- a/pkgs/data/fonts/wqy-zenhei/default.nix
+++ b/pkgs/data/fonts/wqy-zenhei/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "wqy-zenhei-0.4.23-1";
 
   src = fetchurl {
-    url = http://prdownloads.sourceforge.net/wqy/wqy-zenhei-0.4.23-1.tar.gz;
+    url = mirror://sourceforge/wqy/wqy-zenhei-0.4.23-1.tar.gz;
     sha256 = "138nn81ai240av0xvcq4ab3rl73n0qlj3gwr3a36i63ry8vdj5qm";
   };
 
diff --git a/pkgs/data/misc/shared-desktop-ontologies/default.nix b/pkgs/data/misc/shared-desktop-ontologies/default.nix
index 23a800f6ae0..831028467f4 100644
--- a/pkgs/data/misc/shared-desktop-ontologies/default.nix
+++ b/pkgs/data/misc/shared-desktop-ontologies/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "shared-desktop-ontologies-0.10.0";
+  name = "shared-desktop-ontologies-0.11.0";
   
   src = fetchurl {
     url = "mirror://sourceforge/oscaf/${name}.tar.bz2";
-    sha256 = "00y55bjmxrwiiw8q0n0jcv95l945hp7nglbwj408sk5m2vq026di";
+    sha256 = "1m5vnijg7rnwg41vig2ckg632dlczzdab1gsq51g4x7m9k1fdbw2";
   };
   
   buildInputs = [ cmake ];
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
index 83505dc42fc..ed794715ff8 100644
--- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "gnome-python-${version}.1";
 
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/gnome-python/${version}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/gnome-python/${version}/${name}.tar.bz2";
     sha256 = "759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8";
   };
 
diff --git a/pkgs/desktops/gnome-2/desktop/vte/default.nix b/pkgs/desktops/gnome-2/desktop/vte/default.nix
index c91522e695e..00072657e06 100644
--- a/pkgs/desktops/gnome-2/desktop/vte/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/vte/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "vte-0.28.0";
   
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/gnome/sources/vte/0.28/${name}.tar.bz2";
+    url = "mirror://gnome/sources/vte/0.28/${name}.tar.bz2";
     sha256 = "0blmblvjr35xajr0a07zcd58lk6x2hzympx17biw2mcym9kcarql";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
index a406f9209a3..da7673de419 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, pkgconfig, gtk, gettext, intltool, libgnomecanvas, libgnomeprint, gnomeicontheme}:
 
 stdenv.mkDerivation {
-  name = "libgnomeprintui-2.11.1";
+  name = "libgnomeprintui-2.18.4";
 
   src = fetchurl {
     url = mirror://gnome/sources/libgnomeprintui/2.18/libgnomeprintui-2.18.4.tar.bz2;
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index de49bffc419..a9fce636937 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   name = "evince-3.6.1";
 
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/evince/3.6/${name}.tar.xz";
+    url = "mirror://gnome/sources/evince/3.6/${name}.tar.xz";
     sha256 = "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv";
   };
 
diff --git a/pkgs/desktops/kde-4.10/default.nix b/pkgs/desktops/kde-4.10/default.nix
index 9fbb58fe242..f56e64e2d15 100644
--- a/pkgs/desktops/kde-4.10/default.nix
+++ b/pkgs/desktops/kde-4.10/default.nix
@@ -1,8 +1,6 @@
-{ callPackage, callPackageOrig, stdenv, qt48 }:
+{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.10.5" }:
 
 let
-  release = "4.10.4";
-
   # Need callPackageOrig to avoid infinite cycle
   kde = callPackageOrig ./kde-package {
     inherit release ignoreList extraSubpkgs callPackage;
diff --git a/pkgs/desktops/kde-4.10/kde-package/4.10.4.nix b/pkgs/desktops/kde-4.10/kde-package/4.10.4.nix
deleted file mode 100644
index a2dafe03f58..00000000000
--- a/pkgs/desktops/kde-4.10/kde-package/4.10.4.nix
+++ /dev/null
@@ -1,399 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
-  {name="analitza";value="1ikja551kp2i4x6mw64i12yf84vx0g5rfmqcq93lj2z4gii17nlq";}
-  {name="ark";value="06ymghs1rflhij7skw3hnk2w8kjmmaigh31raq690vbnpa9w8isb";}
-  {name="audiocd-kio";value="1pxza8v5gb34hzbky5jwm2fw3b4bynpzcrggw6vvhnb0gqrfm7x6";}
-  {name="blinken";value="12rl2jl91mkvls7lh38hxxc8qfrw9lq56syb2k5v81x0gxzgz7gx";}
-  {name="bomber";value="13qi8q3jyk9dn2pnljrgh00qp5k4dimdfj5z8r6gb05cvzn1g5zw";}
-  {name="bovo";value="1j180rm5wr1yy2wn76g3s6v7hl54rhahna32lll8dv9srrpqry12";}
-  {name="cantor";value="1406bkky7pglck0vad9id02w5gyfcva9slmy5gb06iwi9rcvl13y";}
-  {name="dragon";value="1zc14x60rcmgiim5wlss0pva1mc89r00xasic55zkb9w1xl2ymrd";}
-  {name="ffmpegthumbs";value="03hyypzdaf1v7hczbmhnkw3fc1va1mfmhl3kdzm40cak2wf3fd89";}
-  {name="filelight";value="0snjk95jmw3f5v21jwld8ywxpa65zayq9n9bsryipg5i7swa9ylk";}
-  {name="granatier";value="0qsxgs11caccz695a7lcrhrm3awdm390fa1hmxs6ijrfj9wx3qkf";}
-  {name="gwenview";value="0b00cvgh1f6abj9ijg32yk1l8mfb0ph5iwqnbwj86z95v0i9kwhl";}
-  {name="jovie";value="0g07d9zdfjpscc8y4nhfsy869iy2h4vin7inlfk59jih4zbh2yss";}
-  {name="juk";value="01nxn50nxdkg87fljiz7y6s02wxbbbifv84p8hp1rswi5mx929a4";}
-  {name="kaccessible";value="0biygax3c5hcqhfgmggn3gbg4skhr75bix8swdj1mp8ypbk7cwn5";}
-  {name="kactivities";value="07f38qxbd1ads5v912759da6b6hxq9jhiphjlq7ja04130h5425l";}
-  {name="kajongg";value="0mp329yqxjvi4rzfam0dxjx0gacpgvzcnd5dbbw43f0bdi28r6xg";}
-  {name="kalgebra";value="139n44rvxdhph1bpvj8x83d4qslhjqwxpw09pj76qskdda0bw1ga";}
-  {name="kalzium";value="0j5dhaffvi825jbgr4vbi3k4ykk7ha8gv2sas1garqfrqbc30p7n";}
-  {name="kamera";value="06ny4af8071bd22kgvfx0vw37arvzmv0vimci17glp1v37qfafl5";}
-  {name="kanagram";value="1nzchi9sjphkh1rsg42jfn2xia9fcjcwihkgan01wd82hrim34bd";}
-  {name="kapman";value="1hgifdlzhrxabn4ywpxmwqikfms8ihnjz0dwbrfwdji84aij9kxf";}
-  {name="kate";value="0m9j7a42vzkdzhcd7hhvswyi7rwvicnb9wjs5ff01lg7zdnbyqxx";}
-  {name="katomic";value="1fj06n77krwyxvjmqwbhfsmi6vii36smifrpzd0yd1f0g3yihiaf";}
-  {name="kblackbox";value="1irnlwagxsik35n6zkdg6vqvydvhka3yq6p3najdav1hbs7liav6";}
-  {name="kblocks";value="0b5n3sil6llnryfns5cff07ckids65pz99swkkcgpalpqvhg5xva";}
-  {name="kbounce";value="0mqaxkgnylirrcip70b330q56c4j31pb2f7c5j65gvzxlk7n1kh9";}
-  {name="kbreakout";value="1c4ycncf21br0ywdbx91gia62k5kkrgnaj38qclfljhzqx83pr3q";}
-  {name="kbruch";value="143wfqjpnwcd51zr14mgn2ak38szbr24k1phv5lmlc3whgz7q15v";}
-  {name="kcalc";value="18jcr6mzasrbs4zbilxhqdsb03965bzm30f74clh5czsyv8s5129";}
-  {name="kcharselect";value="0hj9ax570qpgkj666qab6bdnz0irzlzynsq28dw64sdmjcxs28k4";}
-  {name="kcolorchooser";value="00pr0sgq8s008lc0a22nmavsqap8dk00y6wd56a8zv2fpnrys5gn";}
-  {name="kdeadmin";value="1m5svs6wq393i2ja2z8vivbiw05z41r8nq07j0qypcgzm8a801ks";}
-  {name="kdeartwork";value="1ax5m70zb8jfil2llia5ph8ykz3xm1xnz0irp5ivp69hixnrrp09";}
-  {name="kde-baseapps";value="067a2s8kw26yjsm8lmn9xg3nw80yyfbkz2x96pj4qx1qxv4qviil";}
-  {name="kde-base-artwork";value="0rjxk5qbr15vi4vrd2x9ypqpbam3jbgiylzgk3bx5v367ldrrsbs";}
-  {name="kdegraphics-mobipocket";value="0fky12546bywjng8vab4nr7ih3zrmskp6kz49hqqbhpcxrnlihpf";}
-  {name="kdegraphics-strigi-analyzer";value="0g2zf9fmn6720j29pxsq9hw424p1p1pgz4smz1gb8casfrpc2mqa";}
-  {name="kdegraphics-thumbnailers";value="19nplbwhv0mdg6iawwm8vbmincccyabq9k8ywd8icr8vgj4ikvd4";}
-  {name="kdelibs";value="08249hp7q8ck1sgihia1idxllp7qb85xw9xv21snhccgdv3p1rd1";}
-  {name="kdenetwork";value="1fm9f7nln3735frlcrqvwpg10b31dgr4gf6xiyq068sixh4cv0g6";}
-  {name="kdepim";value="0v9mp548nbqvd03krq6z1djsvr5a6p21bz5dspqy6kp6xymblwzz";}
-  {name="kdepimlibs";value="09p60h7m41495664ijab33dc5n64spynnjqay1allx0mcldqnapq";}
-  {name="kdepim-runtime";value="1d47byk057jdgyvzjyhv7px39dl6qcg26i5r12p3q8y2lslnz5wr";}
-  {name="kdeplasma-addons";value="001yfb324wb7fpi57dz6rnnbjrip9n14bxa7yv20fpq8i6ngv8hl";}
-  {name="kde-runtime";value="065jhs3ajg3c6k25g5cwbxpp6wxmrd6qg0aza3lxfm87fb1v255n";}
-  {name="kdesdk";value="1bvmfaddvpgh5kx4nv4c3z33bka6m7wlsw1nzyip9gw1ghac6a2s";}
-  {name="kdetoys";value="1frkz6k7q99y2nn0j2xw00zsq4dbsmwyvq7jbh7y4wyzanbyxh0f";}
-  {name="kde-wallpapers";value="0gspx1xld9da4ppcgr20rvkbhy3jh4yqjzfvhsfi1qhh61jgfcks";}
-  {name="kdewebdev";value="178sq7r584qlkphzwdqhkjaq2h87vjjghq3ialmahzsas3qihkbs";}
-  {name="kde-workspace";value="1l927wa1qlj0vcahqb0h8vx23fyg9nwv07lmacb7igpv56ccgfam";}
-  {name="kdf";value="18b623q0p3sh5y69i6likknh90h85imgr2glddsjz4p38f575kis";}
-  {name="kdiamond";value="0smq3333k5qiny3663yj9h8j0smgybjxr0qpf2m139amr45qcyn4";}
-  {name="kfloppy";value="0xv1nsnv105b9dr2vdlns1vwq25963fgl130lhg31dafkiyn3ivr";}
-  {name="kfourinline";value="0d721glmhjp9dr6y60gv299jnjf96n8rkws759kizlq2x3ggn1gx";}
-  {name="kgamma";value="1hmw7pbsxclws57saha7s253172b61lvqxcqp2vpgvdgjdrraik5";}
-  {name="kgeography";value="1vnrm7rva467z582qppqryz0671b1bcmgxcxlc2f223kp9g0k8d5";}
-  {name="kgoldrunner";value="1d2sl02c2ys6vnxxy1rh9lsz3aj5rlzjmpx39dbvap5qqjsan58b";}
-  {name="kgpg";value="0k1ni2xb4p5p5r8vmnpxm77jqa4176apy7047dxc3w3v0qgqvj9n";}
-  {name="khangman";value="0bq0bdrx761fyaxfv43sfq68hfcwzhvagxm66jzk4wzd6pb1m6ky";}
-  {name="kig";value="0jmax8a357iqa3nggpmpbzk9vdnisdmilyqxgkrd1n43cs4cbc9h";}
-  {name="kigo";value="029xn39sxp2dpj8isq1gmis1858iya0bc758jy8d1rq4c046zmxj";}
-  {name="killbots";value="0arvfbzsax61nn3hz8nk82l3in802866fqsxhz2zrwh03dbrl30i";}
-  {name="kimono";value="1ic2xbgd8xwadrvc7qfq1ihkpnh4dx2pjrm5zbjgycyfvsmvl6sh";}
-  {name="kiriki";value="1dp1dp8s4r4501ldn0v5phkk3fj2kfrncz6h4pfylx27lhpbjbn0";}
-  {name="kiten";value="0jd17nvk6vqniqs8rzmzsnc5hr05i3fwmmvf44g35gpqmr88kb5b";}
-  {name="kjumpingcube";value="0z6a8iaprdaqpif054a6glbgcgwaxm2w4i1r9077k91nnsnwrmp3";}
-  {name="klettres";value="10jc56ll0cgaqkb2xf1gh0k75l90al046syj2q2dqsnaa7lazxp7";}
-  {name="klickety";value="0afb8llrx30zajsy2k0i22xf8ll9lrlmwzrqn4qq7s9wxzwy291v";}
-  {name="klines";value="0mkwb4d60zxalv0asw4qnvml6jf153ghzqcxgbac40nhzl2abdyz";}
-  {name="kmag";value="0pjq6nax82x3ldknld25xrx4adc2i7jcy0x4l343m83f5c79xyn6";}
-  {name="kmahjongg";value="1sx8yplpc70z1vdp9j1shmhc8cqbwmshdhl23hxpl1jydd36q1wj";}
-  {name="kmines";value="0qpcnp0hfhwybqfxgqvbwhin8lb50gca2kwvms10cayqmjafj9j8";}
-  {name="kmix";value="1k67gygq1j13p8nxk50n9q01yfkrv0safvxrbq5f70yvka1jdyj7";}
-  {name="kmousetool";value="17sylfp5zicq36c812jy9h6s4qprwwad05zbbj9701ax40iwrvlr";}
-  {name="kmouth";value="1bpqq919rzcaaqxp3md4w1lrhf5mxfjp07z5v7ii8mgji8wrq1g5";}
-  {name="kmplot";value="0dhdpx79klqc5xb9h4dcgriqivppcrw2ib2piqbqs882mi3pdzx2";}
-  {name="knavalbattle";value="07x4vh2h0d62kwwai5j0d6a2zf615y4mp3iacp5rz8j9pdkhqn52";}
-  {name="knetwalk";value="151cj33kfyjf5xxgw0q00l5jbvx5kb893y2mv9ydc9xmwgcd4szz";}
-  {name="kolf";value="1ibrf01vzpr5dyy2hjb6jq6i9hk7w4kw1iffkyh6w5z40nphs2dx";}
-  {name="kollision";value="1fgs793v36j27z76ik50wz466r3wrga5pq8ibqy3cinvh7blk7cb";}
-  {name="kolourpaint";value="1wxja4xd3jhxib2vpa5289f80hfcd2idpvzz4ap71ca0bzkvknq3";}
-  {name="konquest";value="0aga5yzv5jqbgzp6dp11mgjvfjzrs4csaa5pppwbld81573vldmp";}
-  {name="konsole";value="0kvv4ccc76swxzsw3z7dis8lbmnf6mbzj4b0n9l4zcmmw2iphvd4";}
-  {name="korundum";value="03djf01c6rm76dzswnlccwr81p5qyzccv2zxmbycclp8lp6w4vgg";}
-  {name="kpat";value="1vlyya0yiizrd9c1d4pl1dn6nw7g14rzvwhny12qls7ssrj40zzc";}
-  {name="kremotecontrol";value="0i6jz6m2a2ff97hkqpjy2qhdagx82jwcsnafl2cv0kddszxdabni";}
-  {name="kreversi";value="0ci6aampxq6l6sc8m8gxqrzhws56fbhp2xil0qzgab93xn7mmp1c";}
-  {name="kross-interpreters";value="1iypzm9rwszw1walylq6fa16s4hw84zqpyvmd7aik2dz59fmmvlx";}
-  {name="kruler";value="0841j4001v7497xa6nzdlprnhx8whp0rq24z2yblqnjf1wi5d07y";}
-  {name="ksaneplugin";value="10x1shs2cfa4331qymwafpm3hm45n3aqrhiriyl7vsnk1cc2agin";}
-  {name="kscd";value="0ih7zwyvrgsfd4sqj1g5m5hv71sqdzfhmfn6p3crdnnssbvnfhzd";}
-  {name="kshisen";value="1pxqz390mr066kni1gxa0jay00mgm1r0dmxydrg6mbfyw4qqw554";}
-  {name="ksirk";value="0rf5hj19bfc8mgm810rwvj1173nk93npgbsd17vsj1rqskdi57zy";}
-  {name="ksnakeduel";value="0q02nbcl71h6kqs3mdgq51g4y66p5p62mm70j55cfwjq70i8abbw";}
-  {name="ksnapshot";value="1rlq34j5ay3vyp1vpxxfpzyap26dcwg4ii10ql5bl28z2m1xv8ba";}
-  {name="kspaceduel";value="1nhxcmrn42gfkifxfikldha9045ffq5xzbb95wwvwp478jcqi4xk";}
-  {name="ksquares";value="06kxr8v70ygk2bwcvnfp4l4kjj3yhm5f5wgmzfww8h7kxg87lhg7";}
-  {name="kstars";value="0hhi2vfvv5dzr82gg2p34nsclis0hswkgvh9q21zg2nj2g4byblh";}
-  {name="ksudoku";value="1jglf83shv3p3kn71i0lbga9mil54cs2m4xr0dd113961c2fnylf";}
-  {name="ktimer";value="0kqavcxrxly15az0h0yn8cn6mksvka12yc8fywr029drnr70hs0i";}
-  {name="ktouch";value="1b8612a6pcsaamdq9hpkxr71vvmd0mxrnb0hl8iy05q61cv71i0b";}
-  {name="ktuberling";value="1zqzs86ricqwvj6ragxj4rxhddr92a34z8jwdp7qqqjdafzq57c8";}
-  {name="kturtle";value="0nslszpkacbdwsq8l2phzls5qbfm76r32yiynnd35qjfh94dpilf";}
-  {name="kubrick";value="1qlysx8kvz6r80rm0szq7pk007d57ddv77qy7d3gmpijwa9giybj";}
-  {name="kwallet";value="1pw7wgfjfa553kdc8z91amg18zhr5c51nhklr7kpqgp1yj0hwp6a";}
-  {name="kwordquiz";value="016l2yv461w6liqnkszprlr22nyyy7wi9f3fqblqq5xbps8wr6b4";}
-  {name="libkcddb";value="0qjdxxwj0hw6ykya6npfq2kp21sspwxf79pklz3w7q3gnl98rlbb";}
-  {name="libkcompactdisc";value="1jql8hqsb5jl73c22ssv0ddmhipjpgqxhwnyw362djdxifvrybhi";}
-  {name="libkdcraw";value="0w9h9a69wz7m0hg486jcw7vxkzrr3nfjkgqgr40i3cmxpnnjjvp9";}
-  {name="libkdeedu";value="0ai6vr33wcphimgbznmi8arh9fa9xpcpkjq8hq07svdgmbxjd44m";}
-  {name="libkdegames";value="0ifpxwpfh79gh5qs8wl0i951kab3ppmri0h99hi0idj96xhkznpf";}
-  {name="libkexiv2";value="1w9k4c38ziyfnh9byjszg6aw1mbjii06ladgiwx1q397layd7qhx";}
-  {name="libkipi";value="1a4kqhsvpcly6mlr9w8g8gb2wyyrfbi89pwb3i1ky3w9wxk87pi4";}
-  {name="libkmahjongg";value="1rr5z04af5kswcn6pjpd9ryp1zwp3znhwb97xgvppni88cwawyff";}
-  {name="libksane";value="1sv0ba5p0m8d621vykhayblk6lsys4c80474b7d7vgh9xbcxhhgc";}
-  {name="lskat";value="0bimy8wng95mpkssssmfm2779qyjsw5f1i9wh695k0jq6j25dscy";}
-  {name="marble";value="1z90p25fgvwg35pxap1yd3k2i2qrsv9d2057lixv03ymbj0l93aq";}
-  {name="mplayerthumbs";value="1m83pglqgi6dwbbnm4djybki11f2s6q2lhbqa6v1kq12133fhkc4";}
-  {name="nepomuk-core";value="14sfvizfwnarcidmj74v1rsix85sn9hvs6wm4xnyv7d4xw7mgqv3";}
-  {name="nepomuk-widgets";value="02wm1ghsf8mxv24y1d1b5j4nq8jwi6dwlbzlqdl2hhjqxfc60sxw";}
-  {name="okular";value="15aydihdfd5hzkgchxi2xpfy96bm90jcn07lmmp5xcdng3jj520h";}
-  {name="oxygen-icons";value="0rwdp44nkigs0v449l90mjw7ngs21a0jx17biascjhq1kxrh0vmp";}
-  {name="pairs";value="009qpwhy64xfad4ch4l4dh5dn5cj9g9jg0b3384k6wjvx6k61fqq";}
-  {name="palapeli";value="0g03r8f1z2jxyh2hl6l21s292240d2dbcqi0lndjyfsz322i55wc";}
-  {name="parley";value="1xn5na30xabzp8lhbmq5ajv08rl1s7zsn08ffwd2vq8ac1nwi0k6";}
-  {name="perlkde";value="0088hbqdjqdfyf1pqksppbq1xzpgc49rqsnpgjikgdh9nqssnipd";}
-  {name="perlqt";value="1jgiicjknkfiavnq9jw2mdmsqbqb4ch5caxfhx1v6azj4s95ldpj";}
-  {name="picmi";value="0ckfcmbivkbkl9akb20ih2k4sz221ygqi51wmir3p5ryvk2dlq2a";}
-  {name="print-manager";value="0wszjqf42c3mb8c9iq5ngjz21424zjl9j0g3pwgdfj0i8iv1lcd2";}
-  {name="pykde4";value="18j9fh1w3n9yrrzgsq3pqj2pi53wp58kbwkfwb3hn3a2ksw569qb";}
-  {name="qtruby";value="0zc0if1c8c0ddfm2f6w4zp6dizxqd3z6dnr1iwydw7mdac205j38";}
-  {name="qyoto";value="1cgkpr68wh5rq3kbkv0zjylmyfg1ld4qh8r5azrq25y4qiisxmax";}
-  {name="rocs";value="1ak19mjsniwqzybjawigqg8a04kpv6jhx53mkvlm3wjdnsxi1jis";}
-  {name="smokegen";value="09liqidf5a862l6a4cz4wghhmfsjay647q2q3h17s8iwwid7k373";}
-  {name="smokekde";value="1xl56ygpc0ca7smxiagm7ch45w6m415i9nbzin08i4p017vvx0df";}
-  {name="smokeqt";value="0rk31vd45xraihhb3nmx0mkynlq3wwvdsn0460jfi30m72zpmkyc";}
-  {name="step";value="00vxnybi6q7lw6w22gmd5jmai8ysgyh9sy1cnn6jj4difn1x8zcr";}
-  {name="superkaramba";value="1rkbrifkvhl2zajr96kk63lc3r5s43acfih6m499hgwxg8g9z0cf";}
-  {name="svgpart";value="0892krp78wq731wdr5ipsgx10w45xsrr8jx00qyjsci7qsmpfz4w";}
-  {name="sweeper";value="1i151jzqabfs72c8rl5hh401nmwp9abpa6nfq3m8qyh4d8gn0fig";}
-];
-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="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="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="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="kdeadmin";  split=false;
-  pkgs=[
-    { name="strigi-analyzer"; sane="strigi_analyzer";}
-    { name="kuser"; }
-    { name="kcron"; }
-    { name="ksystemlog"; }
-  ];
-
-}
-{ 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="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;}
-#had to add fake pkgs to kdesdk to get it to be treated like a split module
-{ module="kdesdk";  split=false; pkgs = [{ name="fake"; }]; }
-{ 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.10/kde-package/4.10.5.nix b/pkgs/desktops/kde-4.10/kde-package/4.10.5.nix
new file mode 100644
index 00000000000..b1abdb8afec
--- /dev/null
+++ b/pkgs/desktops/kde-4.10/kde-package/4.10.5.nix
@@ -0,0 +1,399 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="analitza";value="0lc83vmapd66ilph26hlf8shd4xv0v9y8jsjycw5nl4xpfm7l5nr";}
+  {name="ark";value="1fvb6phcfd17fxcbb5w4njmkj0vlnz6g5qa6wv5szn4fakb5db1v";}
+  {name="audiocd-kio";value="11ma2pvc7w6gdd98h806i163dsjhxxly4wv4xdcqq4yhdviq29qv";}
+  {name="blinken";value="1lfv15blwy3m88zylqsa7k1a5z01qmakjrb9wq9yxnjbhb12nyf8";}
+  {name="bomber";value="0z704hzpgl1s7jdcpicvixd2dnfsh7i4ainjd5zc1rcljgabmvmx";}
+  {name="bovo";value="10wp4spcdwsa4nbq9qhancvddv83q12qbi72ksnvds50md12h5xx";}
+  {name="cantor";value="070al4dx7x7kk568lpd1ajq0q5gws48w3n76g0wlf4dqqlijjfx6";}
+  {name="dragon";value="0wj89v1d34s595ky97zwph7rxb97h03qya3bi6y1npcp7kjlv2j9";}
+  {name="ffmpegthumbs";value="0ilc8k601g3m4x1slfcczah87f402a9143a70gvbjprffd7iyf9q";}
+  {name="filelight";value="1wfd498ir1ivcks1ys3h8whvi0l4xwfgz2j5c4m4b517dskrmaxf";}
+  {name="granatier";value="04i1zzqkv0da6ymqvdxlaxgws7z44521zj51nw4mvapf1jcck7bq";}
+  {name="gwenview";value="0rz3va3djm3qxqvchxa3549r1qf124sb4105bs6s42a05h4mzhqv";}
+  {name="jovie";value="05cc6qzn9hgdvqgi8a2k2i89ggx10fv970293z8d59r6wbh1skv6";}
+  {name="juk";value="00j9c3g1zsa9vbfwpg37jb4w8753sr28q9xbxp3kfablndwid3w9";}
+  {name="kaccessible";value="0rsdxzqamq2i3f59npsv6pir9bys3g6zd345sfnpbdkinvxyhrdn";}
+  {name="kactivities";value="0sfbc3w0cvjfp2zs6v28fv69pq5ikignily572jamm8nwaid5h2g";}
+  {name="kajongg";value="1yffsgbabnp4mckirl888bghpyrj71d8fbsb0rjk96av1kzl2yvx";}
+  {name="kalgebra";value="0slvk1c1n9g2b5nakfi53l7gh3c2y78pvcy2snj9f1z5c0sr05cn";}
+  {name="kalzium";value="12gp0k11zf3m5g2aabrbrd7kpi5k3z46w74kalzzk3s1babgnwxn";}
+  {name="kamera";value="13qka1nc0ibn3kb03l11v64r6w3k4g7ayq539ncp1syba5726xy1";}
+  {name="kanagram";value="11vd5abdsggzv4svj4wj6q7mcpbxnpjk4gv0m1zw82ya26aarjnk";}
+  {name="kapman";value="19r8a7k2ib2fijipajbj461b1sfvlfxrlpfmm52njg61xizdxy20";}
+  {name="kate";value="0wzvhywvkagshs1q8q1rmq3dxlc5h62y7mlfb2x9wzp945rshq6d";}
+  {name="katomic";value="0vqqjv1magpc7wgwj0cvbykl9qvphc3s03i30qndygi96mf36iwc";}
+  {name="kblackbox";value="197r2nfrpdynqix1c81y1y72jrbzzl3prjd6q9sca9qnd47xx9kb";}
+  {name="kblocks";value="0nnbaskl1s9gy6kn8qk3j9qr6vmsbnpmjj4ddn1fvr32kqjfzr3h";}
+  {name="kbounce";value="0i962rbbi41m8fd7x1vrbi6q46qnij3d8kdc3cwn7mmjp79gzwmq";}
+  {name="kbreakout";value="1mh7ki87y1jjk7g4n8flr0ym6qk9nh922xsca2ww1vv16mpxww9w";}
+  {name="kbruch";value="1632a7rjrmll42yazdab1hmgjv39mp16xhkj6mq61sqdd4pj316v";}
+  {name="kcalc";value="1gyp45f873q6v2y1l8k52x70b92893314h6ci5a07c0asm8ffrpa";}
+  {name="kcharselect";value="12w3mzh0gqgh6aaih69djv3f4b1z34cxwhnchqz75z2yb9lcdj1c";}
+  {name="kcolorchooser";value="19b0r8jjy3fkhhzp9hhxw7zyrkb7fafkxs22ik3lzlm6wri1dwpj";}
+  {name="kdeadmin";value="1fg49z2lgmsvkhhyvahasb5z0l9cad4xwq5ps3qv5f1yj0hfzic4";}
+  {name="kdeartwork";value="1z1xnljs5lzmahn3i5xs429bpyxzc6b8sw2m216cs06dwfk77if6";}
+  {name="kde-baseapps";value="1d08wqb3a9fi0gzkls4jmlnmqpfd5fmg4310d2ih78gflv1yk2gz";}
+  {name="kde-base-artwork";value="1hq35i8mw3akbg9m6wvp9fv6xpamv9na2bjqzqyph8sx0633dxrw";}
+  {name="kdegraphics-mobipocket";value="0jq1qrrax9w60w35qxvjrazl4c8qvninhgp9na7pgz6sk6ydb0jf";}
+  {name="kdegraphics-strigi-analyzer";value="07z3nzmfw5pxg97qx2jj54f3r6qc2x22yxhn3kmcpifzr3gyi555";}
+  {name="kdegraphics-thumbnailers";value="1iwmyn2r43i3bykrc4vx0785f3x5zrnvvfdhfpr88f6pxr95f7bq";}
+  {name="kdelibs";value="1lgjz90irrqwz8h6w7iwy8icvqyj4kb2sarnyrxna8dy1fah9m5n";}
+  {name="kdenetwork";value="1lra150av4ndq5s9msx1khwdwd8k0n756qg6d4fsjp2fy7scf26k";}
+  {name="kdepim";value="0qs1znrvfzrkhlh1d68pri9fnaq2nhxnih5fsjcn2m7d537havq1";}
+  {name="kdepimlibs";value="01hyi3r2an8g9ds59az39c8qdm8qiws6q16558jna7f6w4m0yq5r";}
+  {name="kdepim-runtime";value="1p293zqwdc0g77h996slc0qwa01a24nq5yh5a4q6ng92rfzzkrl3";}
+  {name="kdeplasma-addons";value="0hs9bmg4gcl9lks78pmb0n29jzzh56w5islyzhzccrrcbimsqvzp";}
+  {name="kde-runtime";value="0daw0sjyqrdhsah920fla05wvcf9zrck1lbkdcbvrk1qvvqwjhpx";}
+  {name="kdesdk";value="0h1il5dza8qcfz1fgz6qhsaccqkp0g5fdi4k3413vr6lhg67dh78";}
+  {name="kdetoys";value="1r2rh0hdipwfxwq29whicbvxa7dr5vswh9pqw60x1c634cgba49p";}
+  {name="kde-wallpapers";value="1d96asb1nn88rwzb2nis37d8qwliaswpzfc15zq6jkcbdyzaxfpv";}
+  {name="kdewebdev";value="18s79ah9j01mb3lpzpsi6wxbh3wjpkswx5snpv1fyphf760jzb3n";}
+  {name="kde-workspace";value="0xg8asnxq48x6zydh09bfga11363bya7hfkygas7ar7rb0144im3";}
+  {name="kdf";value="0d3i5jpikh285vwr93044lws34ihhbszb05gbyvibx7faqdllg2h";}
+  {name="kdiamond";value="1dca5h88lm2syhnk5bd8g83lx9422hyg972di4xj69vnnpl5nsp9";}
+  {name="kfloppy";value="02yq8p8ma1aghm9k442xznk1xwb4mcd36h040ix5rc7j3j02l79m";}
+  {name="kfourinline";value="0ljs9szk4r6iasn4qkclpq3nij5hb8xnyqj36w8nxbvsmka69d2p";}
+  {name="kgamma";value="0byvsk5j2g1ycfq5zskg9bkbmq9jddv0nzck2w4qayf072cqn8b3";}
+  {name="kgeography";value="0icf21sr6w920ga6as9yx1ja85gwk3h2bb1ra9k5bs32vw5r7nk9";}
+  {name="kgoldrunner";value="18i0mj3j6q1gycf33z416kcf9lsksrmk8fnp4j1jg9mlr6y1xc6c";}
+  {name="kgpg";value="1x04mj6ykmhmlr2074bn6kc88zz4y3lgbvnf4qkcj8q5wil1p3gv";}
+  {name="khangman";value="0yrqd17w78pl18ln8rqcb0cmqis8al9k3zvg0hvxyh3qp013xb9m";}
+  {name="kig";value="1wd8kk4gkvgxp83q6dqdqkqaznbrl8kk88ixk17qhlj03iykxfcj";}
+  {name="kigo";value="1g78wqsk72mki48inxam6337hpjd491325j3cmvvlz0196q3s4zn";}
+  {name="killbots";value="1kjmwsrqmj85yawbw6xr025bkv3kidwasiyrjr01mgsndlkn3y47";}
+  {name="kimono";value="0wswbykjq56rxf0rkkl97ipy36r5q8h9sws758fvwmd16nylhdg0";}
+  {name="kiriki";value="0iv3lak13szc93gqqjlqdmdbg3jy4xbxvnahzka0d3m2nkg9iv6h";}
+  {name="kiten";value="1112kl5vbz58v52nss4gd4plnrl3nkp57mnhdbs58dlxv1s1s7b9";}
+  {name="kjumpingcube";value="1y9pgqsq72v9mxw04dkg4x2m15jyl5iahqshxczzihh3pjllv7sr";}
+  {name="klettres";value="0kqjw7vrpzvrr4g6zhdsqppbr2viqr7jann4npnzh0bw48842zhp";}
+  {name="klickety";value="0d78nak6dzmkfsxq7cxndca51paw2giawk31s70fgr7kwa7s9g9f";}
+  {name="klines";value="0z8bp1xwy17k1nv7d8mrgsk7vgb5137icdy0d66jwaa9bzsv3khh";}
+  {name="kmag";value="1iamiy8ppyd4qkbdhqykxgh6c8w31glpjv1srk9s4gqyqj51mf24";}
+  {name="kmahjongg";value="02ai75zc5rfch3b7a2zz9kmw6r3kgkbzr9pi8c1zrdgif8awrl3x";}
+  {name="kmines";value="0hc838cd5h8gjm4alszi8z70r3jmjxqwmhni1silk16gsiy3kqvy";}
+  {name="kmix";value="08ls620ndrvszx36sy2xj32fvwm5b8aggp86cwvzqjvp47c46wjv";}
+  {name="kmousetool";value="02lg84gpnic2l84ay01adw2fynr0x7byklqdz3zphiqhddhfnb81";}
+  {name="kmouth";value="09jg2xar4p6rrcc41qfj0h57fapdgpdpjh6ackhyana0871q5cam";}
+  {name="kmplot";value="17s7n51x2nl5g4l0862gnzigkwa7qwipmvy7krn8b1z051n2jwfx";}
+  {name="knavalbattle";value="15qpgn5bjbk4smwzz5x0x9f1kd5mjhg6p4h4dalcay8k9zixxxvl";}
+  {name="knetwalk";value="0yqdxcah56z1q21xfrk33s4fx6l9q21na5dx1p12d114vzgr3gzq";}
+  {name="kolf";value="08ba3flnknzjgys73lhpy7b98j544wwv6vvbrd6p2675imwk168w";}
+  {name="kollision";value="1jahrgkb9j8shwrmm1486f3w1hd5snwfwv53gj7973z0mmm5468r";}
+  {name="kolourpaint";value="18ql77778zdc9149qd7mslkh780v6qkhdc1wfljrr1mj98p08av9";}
+  {name="konquest";value="1iyqgzyg004lyqssmvh4951m9v56ayw7ggza6awh6a805j0zz0sp";}
+  {name="konsole";value="1zqmmv4zpq59nm2r7ccmp1ij5q3qjclmbmcm667hxmq9dyrwv5an";}
+  {name="korundum";value="12cqg6ib06icadyslnqzqmkal6rmjhki02na09gacqdiwc7gf2p2";}
+  {name="kpat";value="1zdv4jvqg0xbbsf39d2n8d0ya2mqzva06s46m2hb66flyjz5pd3p";}
+  {name="kremotecontrol";value="0jw4jjlhy378f58wgqm5cikqj8i3bdz1s1qm4r24bb1677dqyd4x";}
+  {name="kreversi";value="1mxgb60zbq8qkjnamvlr072vii2px224mg03fjjds063321swx0z";}
+  {name="kross-interpreters";value="0r2y7lscsgk6jkzby7dqwd62yk2nyzwm6chihsvivl9frl38wqza";}
+  {name="kruler";value="0gwyy0k8h705bnp6q7jgzbk8i9d6csffhwlas7y0zwcl7n03664x";}
+  {name="ksaneplugin";value="187n3s19xdfl7bbcpgyappw1v2bgjki8kh1qh8dy8mscm2qn50j9";}
+  {name="kscd";value="0wqm2vhj593x4vps3205gfnl29yglr2szzpdiazi6rq80r8ifvbq";}
+  {name="kshisen";value="1n5131kckixwbllp8sxn5y93z9q2fdvjj77pcy4sadngx5slz718";}
+  {name="ksirk";value="0b2084h246jhphwpa5iwpxbib4z4h6cwvi8bp18l7yid77wz28f2";}
+  {name="ksnakeduel";value="0v74l5svmr21gahxzfz7sjnj5gzhnyir7l7cny1q7xnha7bnaw81";}
+  {name="ksnapshot";value="05l18i9mv9pghlf50qax9drlcrmdahgiljnvcq20vadrxw4qxghv";}
+  {name="kspaceduel";value="0q8iqg5n7w0v5llbgan7vnf41zbfagc0rd8ya7fp9gf5pmx422zf";}
+  {name="ksquares";value="0fnz1hy2n0i1gal9b8ij8bi5sql5iybbjpkyy55dapcbph2br8xc";}
+  {name="kstars";value="0nf3n9f6dmp8401d2jfcyh26xbwmwdav4maacp5dmhv6xvr2ivis";}
+  {name="ksudoku";value="07lxxaw6ykhlxzkbhzsz43ingfx0l1gb38v2z0ag8jd3iln7l79v";}
+  {name="ktimer";value="112449fn8zbgz3s22bswyc8fisa126j6xvmwxzb91c5vx0wj9qg8";}
+  {name="ktouch";value="0a9x6ym3gw3d6jqvlfaw5qyxzcn9vi4sa55ig0d9cdy8057y5pwz";}
+  {name="ktuberling";value="1ihvv3mais39yk84k1a76mpz5c9sbbnw80n536adh3y3fad4yw5a";}
+  {name="kturtle";value="07fxjiaq69x97w45z8r3g1iyi0vyk0wyqwjwn1qb7a1ziwva5jl9";}
+  {name="kubrick";value="0mqf52lp0s61qsv8q47h012m5k8mf6gqwjpb7swrs7hxsc58dspy";}
+  {name="kwallet";value="0mb8ph0wf761gpss7xmi4zngxfalm3sdngjxrpr8brczjp8v9wdm";}
+  {name="kwordquiz";value="0rbrfswf13pw4cam8fj9w7g12yhzvg82izzy79xsxb0dkk4ki42n";}
+  {name="libkcddb";value="033vmv8fin87m788qjyjaravf5gr9cj953yvcfg9438qpavd79qr";}
+  {name="libkcompactdisc";value="105w0bnw6gzjb8gnp2gmwcjgaz3gi4f16fninbl2658dnb24b1kq";}
+  {name="libkdcraw";value="0p1wbdrhpp6rg82kfrxhaz4lxqjix6mb1grj16zy1i24x89mxlya";}
+  {name="libkdeedu";value="1b6qpd3i59hfd7rwij255xyrxp5ylw5mpyr6k10py5pj7fn4zhc2";}
+  {name="libkdegames";value="1cc5011xm9rz9fz2dk3ibfr4cqq3rmw3i7vlcsrhfscsx0xm88sc";}
+  {name="libkexiv2";value="18ngfrz30q0prsrwy92hb7y0hxhcxlr4ic7lq7fv4l45434ry7pv";}
+  {name="libkipi";value="00nn96qwynfx2ajqllh8zkwccc1prigbcq75s1hnpm67nnfc98as";}
+  {name="libkmahjongg";value="06qpykgaxx5r7n3ymph1g2fy0dj2vclfqlnzbdc41ma3l66jci64";}
+  {name="libksane";value="0a0ipz9jmrw076mxsj2k3njaf7dwfrdqd5bqwcc4q8qqlhpp4ljy";}
+  {name="lskat";value="1sxmjhw61w1d19zidf96qkddx9r0h8z5kbjl8xgah8k25ji5qsr6";}
+  {name="marble";value="04cy00jsnahmigffjyqviizj5bvj2aldfgkyj2g5iadfsqflxvy4";}
+  {name="mplayerthumbs";value="0hmdvyillr779c1fmia3h6dcy7j7j0kvxvh4mdz1adfwaz4zgymy";}
+  {name="nepomuk-core";value="12grw88gc4b4i1h346ahpkv8493gyvhvkpcqxwc2dqpsqsfc7rpz";}
+  {name="nepomuk-widgets";value="1npmwv1vh5ci6c9a291vyps85c5cvdg5dn9r9h28dq58s2h274yh";}
+  {name="okular";value="05v23g4w6sw525w7qllcbyhk92k75hyqrvx9hncylig4blivjp9f";}
+  {name="oxygen-icons";value="1y7iq77fyiykmjf8xdyprnshlasazdv6fcjp6ayfx0jkixb2gqya";}
+  {name="pairs";value="1v4h0d04b7g59axkl69gyml02hzxjkfzcgg320mj05xx5q0kjyq5";}
+  {name="palapeli";value="13hvppav7yz9wvvly8f8kads9arqvl25spwa8awpl2f4a394c0sa";}
+  {name="parley";value="0wk6p4rw6063089iq758a0mcq10fh8c1pg0wq00dhs9d05gwk873";}
+  {name="perlkde";value="1hh5y4zmmb97py281i0jhzwg8r4ii3qmilzbwbrvk9j4ngcz37gg";}
+  {name="perlqt";value="09880varap78a44zifqx72wbx23wq0hqq540hf466fmmxk744877";}
+  {name="picmi";value="060a1n5lclsaz4zjq1dpm9y20fqgq3rjlkm54prp3kkj5hpi6kcl";}
+  {name="print-manager";value="0jmvfy376axdwi4a2fc78ldlny4jbk7kxvhi1mwf8piibwc10dvf";}
+  {name="pykde4";value="10aqvx6dfcbi9mrsr0sdhhxp2jqkw06rf55p2nxdadmcszad2k7k";}
+  {name="qtruby";value="042nya6n5sp2r9a9s3limbph8wv5z04fha7pkqznvrkr040qykvj";}
+  {name="qyoto";value="0nxhxvh4zpskvxv7mjz06vililg2wqlabaaaf61j0naxz4aynyrv";}
+  {name="rocs";value="10xb6qh29g4l369dyimwj0yk8s5yi6jg1byaf4z5jnr2w8ysbf7j";}
+  {name="smokegen";value="0myzqfqcl7i8kikcyj2vbip9y4al411jmjm02hv55baccygls8yr";}
+  {name="smokekde";value="0b1m9g1swj9r44zbg8lbqmxp9l342dz8b4wsnn6n9ih0b15p512h";}
+  {name="smokeqt";value="047am45yjkyyza281zfzvv84kvldvmbgch5q3fd89vcvl5sh399j";}
+  {name="step";value="05rjnb16mzz91q7473k2g83g792xqh77p4gc2xmw0a5j4qk6f6ga";}
+  {name="superkaramba";value="0vxb8656ag6hmy3nx9w3xa38j12rajkqsmv4kx6ylnpk6v71s7x2";}
+  {name="svgpart";value="17j59rwg483p7ip1zxq37jnzvkafrkj7yabwrbwk0vvxkqcbqpx3";}
+  {name="sweeper";value="0yhp6k2ai7wgn242932w10xwainq07bf9zjm2fvaavrg3gh38644";}
+];
+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="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="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="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="kdeadmin";  split=false;
+  pkgs=[
+    { name="strigi-analyzer"; sane="strigi_analyzer";}
+    { name="kuser"; }
+    { name="ksystemlog"; }
+    { name="kcron"; }
+  ];
+
+}
+{ 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="kdenetwork";  split=false;
+  pkgs=[
+    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers";}
+    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing";}
+    { name="kppp"; }
+    { name="kdnssd"; }
+    { name="krdc"; }
+    { name="krfb"; }
+    { name="kget"; }
+    { name="kopete"; }
+  ];
+
+}
+{ 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;}
+#had to add fake pkgs to kdesdk to get it to be treated like a split module
+{ module="kdesdk";  split=false; pkgs = [{ name="fake"; }]; }
+{ 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.10/kdenetwork/filesharing.nix b/pkgs/desktops/kde-4.10/kdenetwork/filesharing.nix
deleted file mode 100644
index 2f32f4d6b2c..00000000000
--- a/pkgs/desktops/kde-4.10/kdenetwork/filesharing.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.7/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix
index bada0c1cb10..bada0c1cb10 100644
--- a/pkgs/desktops/kde-4.7/kdeadmin/kcron.nix
+++ b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kfile-plugins.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix
index f90fd356079..ac28edb8dd9 100644
--- a/pkgs/desktops/kde-4.10/kdenetwork/kfile-plugins.nix
+++ b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix
@@ -5,7 +5,5 @@ kde {
 
   buildInputs = [ kdelibs boost ];
 
-  preConfigure = "mv -v strigi-analyzer kfile-plugins";
-
-  patches = [ ./kdenetwork.patch ];
+  #preConfigure = "mv -v kdenetwork-strigi-analyzers kfile-plugins";
 }
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork.patch b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork.patch
deleted file mode 100644
index ebadbfad9ba..00000000000
--- a/pkgs/desktops/kde-4.10/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.10/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix
index 2f32f4d6b2c..bada0c1cb10 100644
--- a/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix
+++ b/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix
@@ -2,6 +2,4 @@
 
 kde {
   buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
 }
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kget.nix b/pkgs/desktops/kde-4.10/kdenetwork/kget.nix
index 25028ef974e..d5f38096a42 100644
--- a/pkgs/desktops/kde-4.10/kdenetwork/kget.nix
+++ b/pkgs/desktops/kde-4.10/kdenetwork/kget.nix
@@ -4,14 +4,11 @@
 kde {
   buildInputs =
     [ kdelibs libktorrent
-#kde_workspace 
-shared_desktop_ontologies 
-#kdepimlibs
-#      kde_baseapps 
-gpgme boost libmms qca2 sqlite
+      kde_workspace
+      shared_desktop_ontologies
+      # kde_baseapps
+      gpgme boost libmms qca2 sqlite
     ];
 
   KDEDIRS = libktorrent;
-
-  patches = [ ./kdenetwork.patch ];
 }
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix
index 2f32f4d6b2c..bada0c1cb10 100644
--- a/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix
+++ b/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix
@@ -2,6 +2,4 @@
 
 kde {
   buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
 }
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix
index 1f3ba36aaa1..1b7405f1006 100644
--- a/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix
+++ b/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix
@@ -1,8 +1,5 @@
 { kde, kdelibs, libvncserver, libjpeg }:
 
 kde {
-
   buildInputs = [ kdelibs libvncserver libjpeg ];
-
-  patches = [ ./kdenetwork.patch ];
 }
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix
index 80013f430d3..b6c36ea9c15 100644
--- a/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix
+++ b/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix
@@ -1,7 +1,5 @@
-{ kde, kdelibs, libvncserver, libXdamage, libXtst }:
+{ kde, kdelibs, libvncserver, libXdamage, libXtst, libjpeg }:
 
 kde {
-  buildInputs = [ kdelibs libvncserver libXdamage libXtst];
-
-  patches = [ ./kdenetwork.patch ];
+  buildInputs = [ kdelibs libvncserver libXdamage libXtst libjpeg ];
 }
diff --git a/pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix b/pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix
new file mode 100644
index 00000000000..9862efe0b58
--- /dev/null
+++ b/pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix
@@ -0,0 +1,282 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "0mxvp97sf1f6w2rfy966fdhpflqfmwv253zswaz3cv9b5m9yf5q8";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "0fk5r0bqnks1ygac6cs8f5gb16lr4qrh32jgdk50hnv6ad51agfv";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "10kc76l1fm56rhnc6wvm29ij15v2pvmsq1djvm6zxhsdm99af25k";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "0gn4ghvwwi09aibmx5940b159d7svnbcq25cg02lhvjvfrmyfp1j";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "175j2gn35vzjb17rbd0mvrxas180wq3v1x6q1caykm2qddqqmqgv";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "0zxa2cmcwdbdwgz5wm58v0gqzphcc1b1vzzgrrnpsmfjqb6h951c";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "0qab4gbilpb8fwyjqcvvmzms4hdbrii4xr5xgcl87v8va5gcdc8s";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "1vh9h185qa42q7gkyflp7g93hgvhxjd2cknwz0yq6dxsx8dg5iqd";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "1f8wsq9hh2d6wpd7v1bz5mchb1zjnc895mmpawy67rv6s45vx6y8";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "1nz7q6fq3242vjh2961r4v4kp1fywknnjrnfadgf3g0dvav2vkq8";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "1mazkh53vdvsz5zrx41fi49x44isibpwmrrqwcmpbcwdqx7iaf9v";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "0f7bi50gzrhnvif7c1h6mgscbbjvz0cqifdnaaqr9m7d9iafwwyz";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "0k0w849nqjsaxsi8rm4jd13fqcvk88v6j0yar36mvblh6x61qgq8";
+}
+{
+  lang = "fa";
+  saneName = "fa";
+  sha256 = "12fmd6zy14wsd2i1nszc4bl3q0asvf9wqsgwihxipw34fwa6irpv";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "0k76zlfjjz7vlvlz298713c27zbcybjip33wix76ldj7is9yb07v";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "03qxm8q3bvx4cqaxvfbdj07q2rpcwrqyp333x3jwmcc5xj731pww";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "09n5wpc4s2xxv1016dvg8zwbvx6lx6942lnyq3b4adl4yjcghs32";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "1w7hj6ma3d03wv2x651hwhxxc4ird23f0khc4z03ncpl9xvyikky";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "0jirch5cw99lcs9d83kzifb9wdqz1aqdjmi4wam0gi8nciws8hwr";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "02g0a4l1mlmx64acxfl6a1lqbivnwdfx98q8f9nyb3836i8i3sd7";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "087jww1daqqwrrxi1hz72kc39ipj6hj73cqzy4ds24hm112z58dc";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "1mwmbhnzvhxzcfk3j6f61jfprfwaan8mf9l4s7r8f3ddmsz66kha";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "0grmi972ndizf3gpjxjv79crc0si4b3dadayzmayrykndd5b30i6";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "13d8ikfhlswpaxrj9l6f0kf4dzbmgri5d3miz3r8h6lmmszq2phr";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "1m17wqak0alhkk81fhl32fcv0b2nnszjs7xia0df75z8c2js9vmm";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "1br0gipw4ra3bvzdal9dn8x8kldmmk4miw1z5hsimhkgc5y5amb3";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "0vmdfcy2dmxd6bjvz31xhjkxd2q55px70c9d6lj3fmf4bxiqlmc4";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "1snrn2yw7z2m0m3wqxgqrq1rxqnjb4ylngdnn0ym87yh7bh6kjsc";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "1dyymy3wdldmkxai47y25qzpcajsi18h4rl0m1izm90giwadrk85";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "1im120mlnvjdlh5gna9q0qfixg2zz2shhzbxih37ikzpjxr7v5zs";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "07303s04qkh7pa78ranvcvqs75wll427vdb0iv6sr07smd0fzf1d";
+}
+{
+  lang = "mr";
+  saneName = "mr";
+  sha256 = "1dzzzc3wkjhapmdlbp178w6rm00ibixmp4xhkbsavr7hy18a048c";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "039gi1ba8z9w80b6xsh3b51alq91d4phr6pmfnaqngwqmaksxidh";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "0bg55dl284y7wvcl40sgspnvpfiqkapvwwi02n4jyl3w4xsy3b8j";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "048pr21vfcwvfxpw56kil4awmx7samva4jd86g6rvrs6q85c0mxj";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "10xy5r3s79gh28zzy72dhs79ap616qnrqms3mgg9kdvmmi2n32nm";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "08ib4pbahgjww4d82vcgahc7jxky85riim1p0ck5dzhri0664zx8";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "0kqr4jvqsyasdacv0kxjcx5nfd6m0kd1vk7418mzbabjyb2nbvl1";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "0nfnwcq2n5dp721wi7arp3via0kvhf3rfq8h78k9dqs5afyhf4n1";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "1886fga94c7zp0g1hdijqj64mi8asgbmykic6n0mzin33c4rwyjs";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "0q51v23dviwrgy1zaq3823xh2vfm2zvkpqizgmi111m681s0n4kx";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "0mm8mfqlfbj0r2d4xyli2n8x8sgpw2bjxnlq8yy38pgi9pksgcsl";
+}
+{
+  lang = "si";
+  saneName = "si";
+  sha256 = "0qcvdil9gbgwf10v4j606d0vi4705vb77aq7p1kq3y57khldlhsa";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "1rmxh12r7i9cc7nkigxx6igvzjjq1rk3y5nm2mdjq7gcv067gp9i";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "0xdd5ini0b0fi5xfai533y8a5g8gyphfrz6qvivpgdd81rfckpk1";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "09rfcrw58f0bvqqkdcpiy56xv591yk6v0iinlabamza63h011rmk";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "1slznfn6ghqy5cy870apwgcygdhvbfvh1dy6rplhwnv0riwnx3ay";
+}
+{
+  lang = "tg";
+  saneName = "tg";
+  sha256 = "12ic6nd65l6w7vqymfr1djbkn8jfghc5vyyi783mdf3pwx3xjk8i";
+}
+{
+  lang = "th";
+  saneName = "th";
+  sha256 = "0v02h8gdwnabahb3invxvp2ap5x6b4a0pf0sl15phi8s2m1y9fad";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "10asd6ha7fjs4b11vp27xp1piycalvidv3l6z5sv9j5bs4hayp1g";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "11n6z1d2b2b93lj9vps4ry6k671m5lssrv4hi5nr0a1vbc1d6ix1";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "1lrghs0s3hmhmrqarsc29518ax95wz6gnhimxs8lyc88b4jil0p5";
+}
+{
+  lang = "vi";
+  saneName = "vi";
+  sha256 = "198rr7i673a77v3qlld1c0rm2vr86rr6nf97v4wckcvyz8b6s6i8";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "01glzj5vhhmv6zvrmwd4wwx0bq6b0p08ixx0rf3bh4pdbi42hiin";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "0cj8flr5c73crrwchfz3j60snzmvbr3bc1p4pnk4s3vajmwsdaas";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "0lc896x55ww3s5jz7ms0gmm22qq9yjpnbzbjfq64574pvr2m3s5y";
+}
+]
diff --git a/pkgs/desktops/kde-4.10/oxygen-icons.nix b/pkgs/desktops/kde-4.10/oxygen-icons.nix
index 373f2c7b5ac..adee87c8316 100644
--- a/pkgs/desktops/kde-4.10/oxygen-icons.nix
+++ b/pkgs/desktops/kde-4.10/oxygen-icons.nix
@@ -3,7 +3,7 @@
 kde {
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "0nl3praln6kfdpr4diln850f29242496p5yrfcyq6xjkpsswq55w";
+  outputHash = "1aad2qb9zrjcild5s584q4zz6zc3wgkclv79gnfwkhmy0viqx9l6";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/desktops/kde-4.7/default.nix b/pkgs/desktops/kde-4.7/default.nix
deleted file mode 100644
index 428e1370635..00000000000
--- a/pkgs/desktops/kde-4.7/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ callPackage, callPackageOrig, stdenv, qt48 }:
-
-let
-  release = "4.7.4";
-
-  # Need callPackageOrig to avoid infinite cycle
-  kde = callPackageOrig ./kde-package {
-    inherit release ignoreList extraSubpkgs callPackage;
-  };
-
-  # The list of igored individual modules
-  ignoreList = {
-    # 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" "perlqt"
-      "qtruby" "qyoto" "smokekde" ];
-  };
-
-  # 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.7/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.7/files/kde-wallpapers-buildsystem.patch
deleted file mode 100644
index 378cdb64694..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/files/polkit-install.patch b/pkgs/desktops/kde-4.7/files/polkit-install.patch
deleted file mode 100644
index d2ecac663ec..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kde-baseapps/kate.nix b/pkgs/desktops/kde-4.7/kde-baseapps/kate.nix
deleted file mode 100644
index 1ffbcf9ebf9..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.7/kde-baseapps/kde-baseapps.nix
deleted file mode 100644
index 45192e0c460..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kde-baseapps/konsole.nix b/pkgs/desktops/kde-4.7/kde-baseapps/konsole.nix
deleted file mode 100644
index 87ac24972bd..00000000000
--- a/pkgs/desktops/kde-4.7/kde-baseapps/konsole.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-
-  buildInputs = [ kdelibs ];
-
-  meta = {
-    description = "Konsole, the KDE terminal emulator";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kde-package/4.7.4.nix b/pkgs/desktops/kde-4.7/kde-package/4.7.4.nix
deleted file mode 100644
index 9a816b72cc6..00000000000
--- a/pkgs/desktops/kde-4.7/kde-package/4.7.4.nix
+++ /dev/null
@@ -1,273 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
-  {name="blinken";value="16daqg0bbkci305qrcrvpv66cvshjfni5rf5gakblcn8qqlmwsi6";}
-  {name="cantor";value="0wgm0j9bl632bk94fi0hzp5s392xpyz0d524ahhi8q33bqkl06ra";}
-  {name="gwenview";value="1dhpb7q0myr9rl4bjsajq0kslvhxcddv1ddplqad63j619wk8gfj";}
-  {name="kalgebra";value="04g07syrk14kpr15f9kgfkkmkjgdvcwmrykmy56jwm8sfb6ncli9";}
-  {name="kalzium";value="0k25cinwp6yjp8q9irmwcb1ahf98ck3mw706jfpybpa7ds8ym5z1";}
-  {name="kamera";value="0airyhxzpnvpzag4w0q1h0pc1lwwplglki5max1mj5miaxg93r34";}
-  {name="kanagram";value="0271aq39dbs92rhc83m19pmm7rx5c573k27931sf3j3pw3x2q0nm";}
-  {name="kate";value="0pfddi7g99apqipnqv62i86ld11vl4igqv65xprqqf0a5a1413my";}
-  {name="kbruch";value="1dhhk55d3bs474l2w0xma89pq74gklq5faskrvd1lvvl853z3zib";}
-  {name="kcolorchooser";value="1gb861f1fy0fvmkg30l1gza998gyhjwj4gcyyv266wp5v7d01xda";}
-  {name="kdeaccessibility";value="12mvs1hy5ygnbbz14hg2fvs7mpvlamkfbz7g7kcvzp0fkjb524h3";}
-  {name="kdeadmin";value="16y73zpdgh72cf8yz8zn246i4d8nh4k6mbz9cbc4ggjblgjcn3pr";}
-  {name="kdeartwork";value="0vfz9mzpm8yy6fysmhcavd8l1fjcld36p0x9qymi4l072b7dkgyv";}
-  {name="kde-baseapps";value="075m3nn407di2mx8w5lv7va3ij0yd7yb575wmf05vfqr01xyhn8a";}
-  {name="kdegames";value="0c42wyk2mq3hz99zg4f9i2dbc9vyaa5l2301j0859pwvnp9zgafz";}
-  {name="kdegraphics-strigi-analyzer";value="1j7chf76mlwrq7z1dgm525f5srx1h30czm8dnw2f0yxfn18lvnl9";}
-  {name="kdegraphics-thumbnailers";value="1ny51jc8fm4gldrlmrfmslpfpn5pahlyws3jzaj6nkd3hdw3krnr";}
-  {name="kdelibs";value="0fdgl8qvpyb9pmb26b3yjfm9ib75mxayw75qm5kyzncmrvn427gy";}
-  {name="kdemultimedia";value="0a0vp1pq159lzgd0x817p9mf6al99w1dwnlyhs9zfpspgz8nw8y1";}
-  {name="kdenetwork";value="0zwqbyl5vw5nnzlilc4khlisjj1xjpziw9ahgvw8cbszscmv68b5";}
-  {name="kdepim";value="0s38qxks58dmwyi3fnvprpq5q9kr17v31n808j33d50rw62y398p";}
-  {name="kdepimlibs";value="0rpfkc0pxvfkaz8pb3yx21dm3ixw8gfrcdny1aqzbn3f7f8abhip";}
-  {name="kdepim-runtime";value="14p5bxrhqjnmz303hxlrdj4vxlmiv8j04qni33ljbgib0hnllva3";}
-  {name="kdeplasma-addons";value="068m2jpyprrscyk3f4nk9qix5smka5pq59sdwdan9996sh256py5";}
-  {name="kde-runtime";value="06nxv46s7ff5n3kmzq3mdc16b0ck0411lj0gf3scdyd85iqx06wd";}
-  {name="kdesdk";value="0v3gwml9rvqz96q8jk8myqvl6gjw3q37js2jn24yawli3sjjw552";}
-  {name="kdetoys";value="17fk1bmabgj9nz0m4j248f48m2xfscql43wmzkqnr7y6zghqfhfh";}
-  {name="kdeutils";value="0s1whgg59xnc6ny609s3vjzvpxak02f2y6v7zw72i808k03aal5v";}
-  {name="kde-wallpapers";value="133amrhhca4xi0gbmajcc6rw1c1ai5x29265fqp45588kyycbgvz";}
-  {name="kdewebdev";value="1nqp2j09nr3jhmfvjydwp86jz4nn5pxwcfi6ww9krfd1hyg4aqjc";}
-  {name="kde-workspace";value="1dj39nndpws9grinz287ypn5lj3zjh96gl4zhl7kp6z8f9mdqp0p";}
-  {name="kgamma";value="05vk5b40w0i75nx5lqn9qax10m604jkjxyxynm0i0b8gyksv78h9";}
-  {name="kgeography";value="1a49zqz8zb9kn7m4m5fsm5ibvn9m5pzq89isrd1yy9q7zlv3qfqc";}
-  {name="khangman";value="1bmzrc5jzbw9q9gxw9pzad37zj4h89rh3k4smycif6ky2jy72x6d";}
-  {name="kig";value="1s0mwnj2riam811l0nfk08ja43f0nibqaqchy2ff7627w22yr5m0";}
-  {name="kimono";value="1cbbchdj4x5sn6ldkmzrx5alhvgzgbprvyjpg1rcsfnyc6whp2p9";}
-  {name="kiten";value="13bcw1r39h0g75vwbyrsh8sb27vmqsbrmx2ay621ily4iy3jn5az";}
-  {name="klettres";value="1wczh41wq3w5ccy2yi4pqr3zk4v0wiy4slcn54a8bfi1b5s1267j";}
-  {name="kmplot";value="0dx5gnya008q7smf74fvygwfsa0hc2ajiznvdmf4qmm3s5bxpbrr";}
-  {name="kolourpaint";value="14zrh321av5f5i8a4bjj7xb1sqfcphzhc5qyg2w54cywaiswy8nx";}
-  {name="konsole";value="1wq2k8g6in86x72jzhz4ar8ba5lyjp0pia969wxa6b1vsj148ipy";}
-  {name="korundum";value="024daf05c9l83whcy0cfgxb3s24ci038kg1pnxlzz4z9sk39432r";}
-  {name="kross-interpreters";value="1kkg4w3id2g7nr89kjdgyy9hik75dnxlm6jmn3g8ilqdvw5ip1qx";}
-  {name="kruler";value="0wd805w2k1ask9l44z50jcd033zkbaxs3xd3w21qrwdvs52x8m41";}
-  {name="ksaneplugin";value="1rxpl6f5b0ld5ap6aag892rjd7r74szbzd6lqw8q8gzm6jmk34gq";}
-  {name="ksnapshot";value="0dn99b6qr4b4hc3c88m26axmb3jim836ig3mfgqpban9r7k15xci";}
-  {name="kstars";value="0zrw4rlfm5cwfbj884zn50sdp90zjg7inl9k2zj450dpvh7i6q3q";}
-  {name="ktouch";value="0vbzr69jbci058bcphf9i3fh40hwgrmcyj1n4gj90gwr4x2ha5hp";}
-  {name="kturtle";value="0mhg2b1jbywafnj93274yimvnaxivycqj98pvld3hppaq32f7vzp";}
-  {name="kwordquiz";value="0kfa83a91w8z39r55456i1vn85pb4dqrbav40sx5fhjb03iyrsdk";}
-  {name="libkdcraw";value="14y8ni9w441zx1k2fhcbnzpa1vcmpvk58mjdqrqvn8n630cy0hzn";}
-  {name="libkdeedu";value="1ga88g5s8mq1m8xwmhl09ylrnl8sw639cpah6wi8wwnqslj2zj0a";}
-  {name="libkexiv2";value="0w8mpjsiw2sr8ya7ffnvnprbsbi8ngpxrcxylgw617zcxpxky6ha";}
-  {name="libkipi";value="01fivyyg5jhnkn9r7bh96ygxvnh7a99h11wh228wk8nzx3i63lsc";}
-  {name="libksane";value="0bb26ajfmknxf4hdy513zx1q9j0hzrs0dr98vxmrwfxxbza67fbm";}
-  {name="marble";value="02yljp6lmqs753zkqpaz58zlrjjxydx9pizppzwjvjx8xk63b9z6";}
-  {name="mobipocket";value="0m08j4cdj2sr1xw3hi0zy651c2ap0q8y9s913r6ccm0f292n0856";}
-  {name="okular";value="03x1fgdnz0s17wj3pkdp77rqrbbb6ssgq0ly493pbi1x4lx768ib";}
-  {name="oxygen-icons";value="0ayx0y2swdcgz4wd1idkhm3gbixkn4mw89f1hrhrdvc6j7wdn2dj";}
-  {name="parley";value="0wgps4adiwaq3l471ig9j56vm7p2xf37779nlhfzavby622lyv8q";}
-  {name="perlkde";value="1psa8ca2ynmavhmbh5p8bgxiljiqj6figi3cmvkaa7ksnmg2p9a3";}
-  {name="perlqt";value="1v12vx46kmg9cgld7krphcqp97y0py1bc3s2gd6jbz5j48g1wznb";}
-  {name="pykde4";value="07c7rzi0rzafrh92m57ldz3v66v8996zqpgcqn351jfycwccg7pz";}
-  {name="qtruby";value="05j08dfqbqnj92k9n70x8yiiaxyk6p9sk3lwm8w8nhsxdciq8yny";}
-  {name="qyoto";value="1maq0c6qb618jiqrdfp4imq3x7x5rdgf80wbrsf8wmaz3iwg18jz";}
-  {name="rocs";value="0qqzfxas64jz95v8i0birbcp0azk01jx5ic6pny7szngwrms6k34";}
-  {name="smokegen";value="0rdaxss113l80gmzp71ngp1l07nn2ip5nhk0a3mmjkvd08i507i8";}
-  {name="smokekde";value="0cxd5y1i672wc295m2czvp5jry1lmvv88dkipd97368gxsqzd3q8";}
-  {name="smokeqt";value="0ll1q87y1sdmna4iac61cm6sn7imsfvcfq573cj7f5raqn08gbpf";}
-  {name="step";value="000a0hc45znshwrjsydrf05f5rwn7lmaiqbk65py827fgk67qkyb";}
-  {name="svgpart";value="056h2ynbl6ylfpf5a2l0qjasnicwx2yzizgd21pprzl9n7708zcw";}
-];
-modules=[
-{
-  module="kdegraphics";
-  split=true;
-  pkgs=[
-    { name="gwenview";  }
-    { name="kamera";  }
-    { name="kcolorchooser";  }
-    { 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="mobipocket";  }
-    { name="okular";  }
-    { name="svgpart";  }
-  ];
-}
-{
-  module="kdeedu";
-  split=true;
-  pkgs=[
-    { 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="kde-baseapps";
-sane="kde_baseapps";  split=true;
-  pkgs=[
-    { name="kate";  }
-    { name="kde-baseapps"; sane="kde_baseapps"; }
-    { name="konsole";  }
-  ];
-}
-{ module="kdeaccessibility";  split=false;
-  pkgs=[
-    { name="kaccessible"; }
-    { name="kmag"; }
-    { name="kmouth"; }
-    { name="kmousetool"; }
-    { name="jovie"; }
-  ];
-
-}
-{ 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="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="kdeutils";  split=false;
-  pkgs=[
-    { name="ark"; }
-    { name="kcalc"; }
-    { name="kremotecontrol"; }
-    { name="kdf"; }
-    { name="kfloppy"; }
-    { name="printer-applet"; sane="printer_applet";}
-    { name="filelight"; }
-    { name="kcharselect"; }
-    { name="kgpg"; }
-    { name="ktimer"; }
-    { name="kwallet"; }
-    { name="sweeper"; }
-    { name="superkaramba"; }
-  ];
-
-}
-{ 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.7/kde-package/default.nix b/pkgs/desktops/kde-4.7/kde-package/default.nix
deleted file mode 100644
index 38713de5820..00000000000
--- a/pkgs/desktops/kde-4.7/kde-package/default.nix
+++ /dev/null
@@ -1,127 +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.bz2";
-    sha256 = getAttr name manifest.hashes;
-  };
-
-  # Default meta attribute
-  defMeta = {
-    homepage = http://www.kde.org;
-    inherit (qt4.meta) platforms 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.bz2
-  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 = 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.7/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.7/kde-package/kde-manifest.sh
deleted file mode 100755
index 910394fb6a3..00000000000
--- a/pkgs/desktops/kde-4.7/kde-package/kde-manifest.sh
+++ /dev/null
@@ -1,145 +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.bz2 | \
-  sed -e 's/.*kdelibs-//' -e 's/\.tar\.bz2//')
-
-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
-
-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.bz2`; do
-  package=${i%-${release}.tar.bz2}
-  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.bz2" "$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.7/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.7/kde-package/kde-submodules.xslt
deleted file mode 100644
index 952a05a9d27..00000000000
--- a/pkgs/desktops/kde-4.7/kde-package/kde-submodules.xslt
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- xslt file for http://projects.kde.org/kde_projects.xml -->
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-	<xsl:output method="text" />
-	<xsl:template match="/">
-		<xsl:for-each select="kdeprojects/component[@identifier='kde']">
-			<xsl:text>declare -A module
</xsl:text>
-			<xsl:for-each select="module">
-				<xsl:variable name="module" select='@identifier' />
-				<xsl:for-each select=".//project[repo]">
-					<xsl:text>module["</xsl:text>
-					<xsl:value-of select='@identifier' />
-					<xsl:text>"]="</xsl:text>
-					<xsl:value-of select="$module" />
-					<xsl:text>"
</xsl:text>
-				</xsl:for-each>
-			</xsl:for-each>
-		</xsl:for-each>
-	</xsl:template>
-</xsl:stylesheet>
diff --git a/pkgs/desktops/kde-4.7/kde-runtime.nix b/pkgs/desktops/kde-4.7/kde-runtime.nix
deleted file mode 100644
index b82ec2f6678..00000000000
--- a/pkgs/desktops/kde-4.7/kde-runtime.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kde, kdelibs, shared_desktop_ontologies, bzip2, libssh, exiv2, attica
-, libcanberra, virtuoso, samba, ntrack, libjpeg
-}:
-
-kde {
-  buildInputs =
-    [ kdelibs shared_desktop_ontologies bzip2 libssh exiv2 attica
-      samba libcanberra ntrack libjpeg
-    ];
-
-  passthru.propagatedUserEnvPackages = [ virtuoso ];
-
-  meta = {
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kde-wallpapers.nix b/pkgs/desktops/kde-4.7/kde-wallpapers.nix
deleted file mode 100644
index 57f2b643aa4..00000000000
--- a/pkgs/desktops/kde-4.7/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 = "29f4e8b24435ee8c64affdc6250f59ed9f78445118fe0a4e216d89969dd2006b";
-
-  meta = {
-    description = "Wallpapers for KDE";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kde-workspace.nix b/pkgs/desktops/kde-4.7/kde-workspace.nix
deleted file mode 100644
index 82730702989..00000000000
--- a/pkgs/desktops/kde-4.7/kde-workspace.nix
+++ /dev/null
@@ -1,36 +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
-}:
-
-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
-    ];
-
-  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;
-  
-  meta = {
-    description = "KDE workspace components such as Plasma, Kwin and System Settings";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.7/kdeaccessibility/jovie.nix
deleted file mode 100644
index d38c80c4c36..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.7/kdeaccessibility/kaccessible.nix
deleted file mode 100644
index 98fae7c983f..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.7/kdeaccessibility/kmag.nix
deleted file mode 100644
index f3b27dacf67..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.7/kdeaccessibility/kmousetool.nix
deleted file mode 100644
index 8e0caa76ed9..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.7/kdeaccessibility/kmouth.nix
deleted file mode 100644
index 4159501967c..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.7/kdeadmin/ksystemlog.nix
deleted file mode 100644
index bada0c1cb10..00000000000
--- a/pkgs/desktops/kde-4.7/kdeadmin/ksystemlog.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.7/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.7/kdeadmin/kuser.nix
deleted file mode 100644
index 571674a461a..00000000000
--- a/pkgs/desktops/kde-4.7/kdeadmin/kuser.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ kde, kdelibs, kdepimlibs }:
-
-kde {
-  buildInputs = [ kdelibs kdepimlibs ];
-}
diff --git a/pkgs/desktops/kde-4.7/kdeadmin/system-config-printer-kde.nix b/pkgs/desktops/kde-4.7/kdeadmin/system-config-printer-kde.nix
deleted file mode 100644
index 2c462f67c15..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.7/kdeartwork/ColorSchemes.nix
deleted file mode 100644
index acccf66976f..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.7/kdeartwork/FindXscreensaver.cmake
deleted file mode 100644
index 499ed75268e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.7/kdeartwork/HighResolutionWallpapers.nix
deleted file mode 100644
index edffca1562e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.7/kdeartwork/IconThemes.nix
deleted file mode 100644
index 43071e8bd14..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.7/kdeartwork/WeatherWallpapers.nix
deleted file mode 100644
index 947e5e17ab0..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/aurorae.nix b/pkgs/desktops/kde-4.7/kdeartwork/aurorae.nix
deleted file mode 100644
index 4bce95217cc..00000000000
--- a/pkgs/desktops/kde-4.7/kdeartwork/aurorae.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  name = "aurorae-themes";
-
-  buildInputs = [ kdelibs ];
-}
diff --git a/pkgs/desktops/kde-4.7/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.7/kdeartwork/desktopthemes.nix
deleted file mode 100644
index 93dd361af73..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.7/kdeartwork/emoticons.nix
deleted file mode 100644
index 5ef9f78a719..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.7/kdeartwork/kscreensaver.nix
deleted file mode 100644
index 7028b9db228..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.7/kdeartwork/kwin-styles.nix
deleted file mode 100644
index b5d769b216d..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/sounds.nix b/pkgs/desktops/kde-4.7/kdeartwork/sounds.nix
deleted file mode 100644
index e98705da889..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/styles.nix b/pkgs/desktops/kde-4.7/kdeartwork/styles.nix
deleted file mode 100644
index 6a1306c3710..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.7/kdeartwork/wallpapers.nix
deleted file mode 100644
index 611c6a70f6b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdebindings/pykde-purity.patch b/pkgs/desktops/kde-4.7/kdebindings/pykde-purity.patch
deleted file mode 100644
index dfc2c886bba..00000000000
--- a/pkgs/desktops/kde-4.7/kdebindings/pykde-purity.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c853e38..5df3253 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -73,7 +73,7 @@ INCLUDE_DIRECTORIES(
-     ${QT_QTWEBKIT_INCLUDE_DIR}
-     ${KDE4_INCLUDE_DIR}
-     ${KDE4_INCLUDE_DIR}/solid
--    ${KDE4_INCLUDE_DIR}/phonon
-+	${PHONON_INCLUDE_DIR}/phonon
-     ${KDE4_INCLUDE_DIR}/kio
-     ${KDE4_INCLUDE_DIR}/kdeprint
-     ${KDE4_INCLUDE_DIR}/kdeprint/lpr
-@@ -232,7 +232,7 @@ _pkg_config = {
-     'pykde_kde_sip_flags':  '${_SIP_TAGS} ${_SIP_X} ${SIP_EXTRA_OPTIONS}',
-     'pykde_mod_dir':        '${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyKDE4',
-     'pykde_modules':        '${PYKDE_MODULES}',
--    'pykde_sip_dir':        '${SIP_DEFAULT_SIP_DIR}/PyKDE4',
-+    'pykde_sip_dir':        '${CMAKE_INSTALL_PREFIX}/share/sip/PyKDE4',
-     'pykde_version':        kde_version_hex,
-     'pykde_version_str':    '${KDE_VERSION}'
- }
-@@ -244,7 +244,7 @@ PYTHON_INSTALL(${CMAKE_CURRENT_BINARY_DIR}/pykdeconfig.py ${PYTHON_SITE_PACKAGES
- 
- # Install the .sip files for anyone that wants to build bindings on top of PyKDE4.
- # (Don't forget the / at the end of sip/.)
--INSTALL(DIRECTORY sip/ DESTINATION ${SIP_DEFAULT_SIP_DIR}/PyKDE4
-+INSTALL(DIRECTORY sip/ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/sip/PyKDE4
-     PATTERN "*~" EXCLUDE    # This sucks, why can't I just whitelist what I _do_ want?
-     PATTERN ".svn" EXCLUDE
-     PATTERN "*.in" EXCLUDE)
-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.7/kdebindings/pykde4-new-sip.patch b/pkgs/desktops/kde-4.7/kdebindings/pykde4-new-sip.patch
deleted file mode 100644
index 96b3b887a8d..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.7/kdebindings/pykde4.nix
deleted file mode 100644
index 030f2fb430a..00000000000
--- a/pkgs/desktops/kde-4.7/kdebindings/pykde4.nix
+++ /dev/null
@@ -1,30 +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 ];
-
-#NIX_CFLAGS_COMPILE = "-I${phonon}/include/phonon";
-
-  patches = [ ./pykde-purity.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}
-    '';
-
-  meta = {
-    description = "Python bindings for KDE";
-    kde.name = "pykde4";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.7/kdebindings/smokegen.nix
deleted file mode 100644
index 43f54b552e5..00000000000
--- a/pkgs/desktops/kde-4.7/kdebindings/smokegen.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, qt4, cmake }:
-
-kde {
-  buildInputs = [ qt4 ];
-  nativeBuildInputs = [ cmake ];
-
-  patchPhase = "sed -e /RPATH/d -i CMakeLists.txt";
-
-  meta = {
-    description = "C++ parser used to generate language bindings for Qt/KDE";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.7/kdebindings/smokeqt.nix
deleted file mode 100644
index 29e25093d11..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/FindLibfacile.cmake b/pkgs/desktops/kde-4.7/kdeedu/FindLibfacile.cmake
deleted file mode 100644
index 617eb4b2467..00000000000
--- a/pkgs/desktops/kde-4.7/kdeedu/FindLibfacile.cmake
+++ /dev/null
@@ -1,32 +0,0 @@
-# - Try to find Libfacile
-# Once done this will define
-#
-#  LIBFACILE_FOUND - system has Libfacile
-#  LIBFACILE_INCLUDE_DIR - the Libfacile include directory
-#  LIBFACILE_LIBRARIES - Link these to use Libfacile
-#
-# Copyright (c) 2006, Carsten Niehaus, <cniehaus@gmx.de>
-# Copyright (c) 2006, Montel Laurent, <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.
-
-
-find_package(OCaml)
-
-if( OCAML_FOUND )
-   find_library(LIBFACILE_LIBRARIES NAMES facile.a
-       HINTS ${OCAMLC_DIR}
-       PATH_SUFFIXES facile ocaml/facile
-   )
-   find_path(LIBFACILE_INCLUDE_DIR NAMES facile.cmi
-       HINTS ${OCAMLC_DIR}
-       PATH_SUFFIXES facile lib/ocaml/facile
-   )
-endif(OCAML_FOUND)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Libfacile DEFAULT_MSG LIBFACILE_INCLUDE_DIR
-	LIBFACILE_LIBRARIES OCAML_FOUND)
-
-# show the LIBFACILE_INCLUDE_DIR and LIBFACILE_LIBRARIES variables only in the advanced view
-mark_as_advanced(LIBFACILE_INCLUDE_DIR LIBFACILE_LIBRARIES )
diff --git a/pkgs/desktops/kde-4.7/kdeedu/blinken.nix b/pkgs/desktops/kde-4.7/kdeedu/blinken.nix
deleted file mode 100644
index cdf9728833c..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/cantor.nix b/pkgs/desktops/kde-4.7/kdeedu/cantor.nix
deleted file mode 100644
index 8b8bbc210c7..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.7/kdeedu/kalgebra.nix
deleted file mode 100644
index f1a190332cd..00000000000
--- a/pkgs/desktops/kde-4.7/kdeedu/kalgebra.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdeedu, readline }:
-kde {
-  buildInputs = [ kdelibs libkdeedu readline ];
-
-  meta = {
-    description = "2D and 3D Graph Calculator";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kdeedu/kalzium-feature-log.patch b/pkgs/desktops/kde-4.7/kdeedu/kalzium-feature-log.patch
deleted file mode 100644
index 3c054e8d60a..00000000000
--- a/pkgs/desktops/kde-4.7/kdeedu/kalzium-feature-log.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-commit d96c6e70400dcd4e3514065e607388b80f96d6a1
-Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Date:   Mon Aug 15 00:53:16 2011 +0400
-
-    Display feature log
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 132934c..eec6942 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -47,3 +47,4 @@ add_subdirectory(src)
- add_subdirectory(data)
- add_subdirectory(plasmoid)
- add_subdirectory(libscience)
-+macro_display_feature_log()
diff --git a/pkgs/desktops/kde-4.7/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.7/kdeedu/kalzium.nix
deleted file mode 100644
index d7d9b403b1a..00000000000
--- a/pkgs/desktops/kde-4.7/kdeedu/kalzium.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro }:
-kde {
-  buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ];
-
-  prePatch = ''
-    cp -v ${./FindLibfacile.cmake} cmake/modules/FindLibfacile.cmake
-    sed -e 's/\+facile/''${LIBFACILE_INCLUDE_DIR}/' -i src/CMakeOCamlInstructions.cmake
-    '';
-
-  patches = [ ./kalzium-feature-log.patch ];
-
-  meta = {
-    description = "Periodic Table of Elements";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.7/kdeedu/kanagram.nix
deleted file mode 100644
index 8759c96d78c..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.7/kdeedu/kbruch.nix
deleted file mode 100644
index dc50f1e85a3..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.7/kdeedu/kgeography.nix
deleted file mode 100644
index bd8d27c8d6e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/khangman.nix b/pkgs/desktops/kde-4.7/kdeedu/khangman.nix
deleted file mode 100644
index 997b50e906a..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kig.nix b/pkgs/desktops/kde-4.7/kdeedu/kig.nix
deleted file mode 100644
index bd5ef67529c..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kiten.nix b/pkgs/desktops/kde-4.7/kdeedu/kiten.nix
deleted file mode 100644
index 939b7a9f77a..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/klettres.nix b/pkgs/desktops/kde-4.7/kdeedu/klettres.nix
deleted file mode 100644
index 7a0fa83078e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.7/kdeedu/kmplot.nix
deleted file mode 100644
index 18458cf6f0b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kstars.nix b/pkgs/desktops/kde-4.7/kdeedu/kstars.nix
deleted file mode 100644
index 5b5a2d621de..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.7/kdeedu/ktouch.nix
deleted file mode 100644
index 768be6f4367..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.7/kdeedu/kturtle.nix
deleted file mode 100644
index 1e1922b1410..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.7/kdeedu/kwordquiz.nix
deleted file mode 100644
index 1b33ba2e469..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.7/kdeedu/libkdeedu.nix
deleted file mode 100644
index def6c85fefe..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/marble.nix b/pkgs/desktops/kde-4.7/kdeedu/marble.nix
deleted file mode 100644
index 8bd86c91094..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/parley.nix b/pkgs/desktops/kde-4.7/kdeedu/parley.nix
deleted file mode 100644
index eccd40a598f..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/rocs.nix b/pkgs/desktops/kde-4.7/kdeedu/rocs.nix
deleted file mode 100644
index 91976b84001..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeedu/step.nix b/pkgs/desktops/kde-4.7/kdeedu/step.nix
deleted file mode 100644
index fac9974baf1..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegames.nix b/pkgs/desktops/kde-4.7/kdegames.nix
deleted file mode 100644
index dfca49be12f..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.7/kdegraphics/gwenview.nix
deleted file mode 100644
index c03c82469e6..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.7/kdegraphics/kamera.nix
deleted file mode 100644
index 70904b17c23..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.7/kdegraphics/kcolorchooser.nix
deleted file mode 100644
index 58528cb186b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.7/kdegraphics/kdegraphics-strigi-analyzer.nix
deleted file mode 100644
index 6001a5f363d..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.7/kdegraphics/kdegraphics-thumbnailers.nix
deleted file mode 100644
index 55bf8309b2a..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.7/kdegraphics/kgamma.nix
deleted file mode 100644
index 28d9252187e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.7/kdegraphics/kolourpaint.nix
deleted file mode 100644
index 5276ec09f46..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.7/kdegraphics/kruler.nix
deleted file mode 100644
index c5c2c6e05d7..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.7/kdegraphics/ksaneplugin.nix
deleted file mode 100644
index 1381ed7dd26..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.7/kdegraphics/ksnapshot.nix
deleted file mode 100644
index f01a609e20d..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.7/kdegraphics/libkdcraw.nix
deleted file mode 100644
index 9810a98551e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.7/kdegraphics/libkexiv2.nix
deleted file mode 100644
index 096b0a6e957..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.7/kdegraphics/libkipi.nix
deleted file mode 100644
index 6b16265e7a3..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.7/kdegraphics/libksane.nix
deleted file mode 100644
index b539eab3899..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/mobipocket.nix b/pkgs/desktops/kde-4.7/kdegraphics/mobipocket.nix
deleted file mode 100644
index 2c2ba3796a2..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/okular.nix b/pkgs/desktops/kde-4.7/kdegraphics/okular.nix
deleted file mode 100644
index 0c5c7b49b17..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.7/kdegraphics/svgpart.nix
deleted file mode 100644
index a344cc4b4b4..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdelibs.nix b/pkgs/desktops/kde-4.7/kdelibs.nix
deleted file mode 100644
index 41a648d1056..00000000000
--- a/pkgs/desktops/kde-4.7/kdelibs.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ kde, gcc, cmake, perl, aspell
-, 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 aspell
-    ];
-
-  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.7/kdemultimedia.nix b/pkgs/desktops/kde-4.7/kdemultimedia.nix
deleted file mode 100644
index 4c3182dd9fe..00000000000
--- a/pkgs/desktops/kde-4.7/kdemultimedia.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ kde, alsaLib, libvorbis, taglib, flac, cdparanoia, lame, kdelibs, ffmpeg,
-  libmusicbrainz3, libtunepimp, pulseaudio }:
-
-kde {
-
-  buildInputs =
-    # Note: kdemultimedia can use xine-lib, but it doesn't seem useful
-    # without the Phonon Xine backend.
-    [ 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.7/kdenetwork/FindmsiLBC.cmake b/pkgs/desktops/kde-4.7/kdenetwork/FindmsiLBC.cmake
deleted file mode 100644
index c40b0bed310..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdenetwork/filesharing.nix b/pkgs/desktops/kde-4.7/kdenetwork/filesharing.nix
deleted file mode 100644
index 2f32f4d6b2c..00000000000
--- a/pkgs/desktops/kde-4.7/kdenetwork/filesharing.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.7/kdenetwork/kdenetwork.patch b/pkgs/desktops/kde-4.7/kdenetwork/kdenetwork.patch
deleted file mode 100644
index ebadbfad9ba..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.7/kdenetwork/kdnssd.nix
deleted file mode 100644
index 2f32f4d6b2c..00000000000
--- a/pkgs/desktops/kde-4.7/kdenetwork/kdnssd.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.7/kdenetwork/kfile-plugins.nix b/pkgs/desktops/kde-4.7/kdenetwork/kfile-plugins.nix
deleted file mode 100644
index f90fd356079..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdenetwork/kget.nix b/pkgs/desktops/kde-4.7/kdenetwork/kget.nix
deleted file mode 100644
index 2381a2459e6..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.7/kdenetwork/kopete.nix
deleted file mode 100644
index 440e8595704..00000000000
--- a/pkgs/desktops/kde-4.7/kdenetwork/kopete.nix
+++ /dev/null
@@ -1,21 +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.7/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.7/kdenetwork/kppp.nix
deleted file mode 100644
index 2f32f4d6b2c..00000000000
--- a/pkgs/desktops/kde-4.7/kdenetwork/kppp.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-  buildInputs = [ kdelibs ];
-
-  patches = [ ./kdenetwork.patch ];
-}
diff --git a/pkgs/desktops/kde-4.7/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.7/kdenetwork/krdc.nix
deleted file mode 100644
index 40ef91d5433..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.7/kdenetwork/krfb.nix
deleted file mode 100644
index 80013f430d3..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdepim-runtime.nix b/pkgs/desktops/kde-4.7/kdepim-runtime.nix
deleted file mode 100644
index ef637f3f075..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdepim.nix b/pkgs/desktops/kde-4.7/kdepim.nix
deleted file mode 100644
index 9b95d491a44..00000000000
--- a/pkgs/desktops/kde-4.7/kdepim.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ kde, boost, gpgme, libassuan, libxml2, libxslt, kdepimlibs, kdepim_runtime
-, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee }:
-
-kde {
-
-  buildInputs =
-    [ kdepimlibs boost akonadi shared_desktop_ontologies libxml2
-      libxslt cyrus_sasl gpgme libassuan grantlee
-    ];
-
-  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.7/kdepimlibs.nix b/pkgs/desktops/kde-4.7/kdepimlibs.nix
deleted file mode 100644
index 736508eaf0f..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeplasma-addons.nix b/pkgs/desktops/kde-4.7/kdeplasma-addons.nix
deleted file mode 100644
index 30a32b465b6..00000000000
--- a/pkgs/desktops/kde-4.7/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 }:
-# TODO: qwt, scim
-
-kde {
-
-  KDEDIRS=marble;
-
-  buildInputs = [ kdelibs boost eigen kde_workspace
-    attica python qca2 qimageblitz kdepimlibs
-    libqalculate libXtst shared_desktop_ontologies marble libkexiv2];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "KDE Plasma Addons";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.7/kdesdk/cervisia.nix
deleted file mode 100644
index 1dabe46cd42..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/dolphin-plugins-git.nix b/pkgs/desktops/kde-4.7/kdesdk/dolphin-plugins-git.nix
deleted file mode 100644
index df4a0856c6b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/dolphin-plugins-svn.nix b/pkgs/desktops/kde-4.7/kdesdk/dolphin-plugins-svn.nix
deleted file mode 100644
index 8032b89ff54..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/find-svn.patch b/pkgs/desktops/kde-4.7/kdesdk/find-svn.patch
deleted file mode 100644
index 61cb49b308f..00000000000
--- a/pkgs/desktops/kde-4.7/kdesdk/find-svn.patch
+++ /dev/null
@@ -1,59 +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,9 @@ 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}
-+         PATHS /usr /usr/local
-+         SUFFIXES apr-0 apr-1 apr-1.0
-       )
-       if(_INCLUDES)
-          set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
-@@ -72,6 +69,25 @@ 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}
-+         PATHS /usr /usr/local
-+         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.7/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.7/kdesdk/kapptemplate.nix
deleted file mode 100644
index 391536248dd..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.7/kdesdk/kcachegrind.nix
deleted file mode 100644
index 65d410cca48..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kdeaccounts-plugin.nix b/pkgs/desktops/kde-4.7/kdesdk/kdeaccounts-plugin.nix
deleted file mode 100644
index 7e170ca2a2c..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.7/kdesdk/kioslave-perldoc.nix
deleted file mode 100644
index 6a10bdf7c4b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kioslave-svn.nix b/pkgs/desktops/kde-4.7/kdesdk/kioslave-svn.nix
deleted file mode 100644
index db0bd27094b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kmtrace.nix b/pkgs/desktops/kde-4.7/kdesdk/kmtrace.nix
deleted file mode 100644
index d580f7fb691..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kompare.nix b/pkgs/desktops/kde-4.7/kdesdk/kompare.nix
deleted file mode 100644
index 1ddb4b8ea5b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kpartloader.nix b/pkgs/desktops/kde-4.7/kdesdk/kpartloader.nix
deleted file mode 100644
index e7790d33c90..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kprofilemethod.nix b/pkgs/desktops/kde-4.7/kdesdk/kprofilemethod.nix
deleted file mode 100644
index 5a6693f2f5d..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kstartperf.nix b/pkgs/desktops/kde-4.7/kdesdk/kstartperf.nix
deleted file mode 100644
index 0c8259cd31f..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/kuiviewer.nix b/pkgs/desktops/kde-4.7/kdesdk/kuiviewer.nix
deleted file mode 100644
index 7c5089dcd37..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.7/kdesdk/lokalize.nix
deleted file mode 100644
index 1565426eb1f..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/okteta.nix b/pkgs/desktops/kde-4.7/kdesdk/okteta.nix
deleted file mode 100644
index 1b53a0e03dc..00000000000
--- a/pkgs/desktops/kde-4.7/kdesdk/okteta.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, qca2 }:
-
-kde {
-  buildInputs = [ kdelibs qca2 ];
-
-# TODO: Look what does -DBUILD_mobile add
-
-  meta = {
-    description = "KDE byte editor";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/kdesdk/poxml.nix b/pkgs/desktops/kde-4.7/kdesdk/poxml.nix
deleted file mode 100644
index 1ab9ed49df5..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/scripts.nix b/pkgs/desktops/kde-4.7/kdesdk/scripts.nix
deleted file mode 100644
index df81145e5d6..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/strigi-analyzer.nix b/pkgs/desktops/kde-4.7/kdesdk/strigi-analyzer.nix
deleted file mode 100644
index 0ad48c8cfde..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.7/kdesdk/umbrello.nix
deleted file mode 100644
index e83a2d9a901..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdetoys/amor.nix b/pkgs/desktops/kde-4.7/kdetoys/amor.nix
deleted file mode 100644
index 936d63d544a..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.7/kdetoys/kteatime.nix
deleted file mode 100644
index dacf54def4b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdetoys/ktux.nix b/pkgs/desktops/kde-4.7/kdetoys/ktux.nix
deleted file mode 100644
index 108f9be7c72..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/ark.nix b/pkgs/desktops/kde-4.7/kdeutils/ark.nix
deleted file mode 100644
index 7fbdaf586d6..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/filelight.nix b/pkgs/desktops/kde-4.7/kdeutils/filelight.nix
deleted file mode 100644
index 25ecabed27c..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.7/kdeutils/kcalc.nix
deleted file mode 100644
index 08b202e8f0e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.7/kdeutils/kcharselect.nix
deleted file mode 100644
index d4c9c06f483..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/kdf.nix b/pkgs/desktops/kde-4.7/kdeutils/kdf.nix
deleted file mode 100644
index 3f9da58d0a6..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.7/kdeutils/kfloppy.nix
deleted file mode 100644
index 2434a4fa671..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.7/kdeutils/kgpg.nix
deleted file mode 100644
index f3b00a5b968..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.7/kdeutils/kremotecontrol.nix
deleted file mode 100644
index fef516e478d..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.7/kdeutils/ktimer.nix
deleted file mode 100644
index 5700977349e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.7/kdeutils/kwallet.nix
deleted file mode 100644
index 9ec0e6c0396..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/printer-applet.nix b/pkgs/desktops/kde-4.7/kdeutils/printer-applet.nix
deleted file mode 100644
index 2d937b3a4db..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.7/kdeutils/superkaramba.nix
deleted file mode 100644
index 4dce768078b..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.7/kdeutils/sweeper.nix
deleted file mode 100644
index 78d56c7df30..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.7/kdewebdev/kfilereplace.nix
deleted file mode 100644
index c3f6129d7e5..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.7/kdewebdev/kimagemapeditor.nix
deleted file mode 100644
index bececea7797..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.7/kdewebdev/klinkstatus.nix
deleted file mode 100644
index 94adbb7fd6e..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.7/kdewebdev/kommander.nix
deleted file mode 100644
index 6a870e56303..00000000000
--- a/pkgs/desktops/kde-4.7/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.7/l10n/default.nix b/pkgs/desktops/kde-4.7/l10n/default.nix
deleted file mode 100644
index 69cfdcf8ab2..00000000000
--- a/pkgs/desktops/kde-4.7/l10n/default.nix
+++ /dev/null
@@ -1,44 +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.bz2";
-        name = "${name}.tar.bz2";
-        inherit sha256;
-      };
-
-      buildInputs = [ gettext kdelibs ];
-
-      cmakeFlags = "-Wno-dev";
-
-      meta = {
-        description = "KDE translation for ${lang}";
-        license = "GPL";
-        inherit (kdelibs.meta) maintainers platforms 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.7/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.7/l10n/l10n-manifest.sh
deleted file mode 100755
index cc0eec20aaa..00000000000
--- a/pkgs/desktops/kde-4.7/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.bz2 | \
-	sed -e 's/.*en_GB-//' -e 's/\.tar\.bz2//')
-
-echo "Detected release ${release}" >&2
-
-exec > "manifest-${release}.nix"
-echo "["
-for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.bz2`; do
-  lang=${i%-${release}.tar.bz2}
-  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.7/l10n/manifest-4.7.4.nix b/pkgs/desktops/kde-4.7/l10n/manifest-4.7.4.nix
deleted file mode 100644
index a128ff8dc62..00000000000
--- a/pkgs/desktops/kde-4.7/l10n/manifest-4.7.4.nix
+++ /dev/null
@@ -1,267 +0,0 @@
-[
-{
-  lang = "ar";
-  saneName = "ar";
-  sha256 = "1iw8x8k31jrgqc8nq276iwca1dgicz9vcx58rfbnk924dvqrflpv";
-}
-{
-  lang = "bg";
-  saneName = "bg";
-  sha256 = "07i4s6jkfkw59mr5n4256rzwy64y1c5wy957jbvnidqcrpzh1azf";
-}
-{
-  lang = "bs";
-  saneName = "bs";
-  sha256 = "080svc26zqf45wra6d6ljxzgs8f6gzl567wm73yp5qrgqnvyvxir";
-}
-{
-  lang = "ca";
-  saneName = "ca";
-  sha256 = "04fz56hsrpl6mxsbw5ja7armf8zbib542d7iv4p4c87xncib13qj";
-}
-{
-  lang = "ca@valencia";
-  saneName = "ca_valencia";
-  sha256 = "01mi1d6yz5w122bcjzp3r8g70pzil6216sv2y2dxaqjlxpdllklp";
-}
-{
-  lang = "cs";
-  saneName = "cs";
-  sha256 = "0l1rwx1k0vpkfc52divm5cnwxr05mwcl1sr84mi24s2ygs6rk8ib";
-}
-{
-  lang = "da";
-  saneName = "da";
-  sha256 = "1r2pzkvs1rc8hfzi5q0p6drvkl1ykq89bzi3k73i3fghx42qdxv6";
-}
-{
-  lang = "de";
-  saneName = "de";
-  sha256 = "100589wkw5rdcihk1nwl4i0bc30bq3b289n03q9lgf8zadflrrg9";
-}
-{
-  lang = "el";
-  saneName = "el";
-  sha256 = "0q41lpkf8srjxrrcnw9c7rkc83m4jw3r7z6s8x9rn0d5h2l36gv8";
-}
-{
-  lang = "en_GB";
-  saneName = "en_GB";
-  sha256 = "0mmvr3fh51r958myc18nxvl7d8hsm4wl70vmac3a3w47mr9aayqi";
-}
-{
-  lang = "es";
-  saneName = "es";
-  sha256 = "11k8svvnph9431maxdhzr334h7h11jk681fb2z1hb7i6cprmac9f";
-}
-{
-  lang = "et";
-  saneName = "et";
-  sha256 = "0pvjfkh93avkg9dii5byjh3kiqcgax9dfw97jmy6qccicgq6frvd";
-}
-{
-  lang = "eu";
-  saneName = "eu";
-  sha256 = "0gnnr7nyxjrzf632zs1k3j4bss3gm5qadfm2jki41y9q1f82vy99";
-}
-{
-  lang = "fi";
-  saneName = "fi";
-  sha256 = "0mfrmqn1yiqrgq79bgbb8799myv5h30g1gr83xja9g9y0lb645bs";
-}
-{
-  lang = "fr";
-  saneName = "fr";
-  sha256 = "03d6xbc7h9gslzvx1q7lcb8bfr5w8809jfb6cn4zv36in593wq85";
-}
-{
-  lang = "ga";
-  saneName = "ga";
-  sha256 = "13m7rdz2gd1cag2x6hfzyv8xj5777fly5f9pyhr28hrafyqc44l5";
-}
-{
-  lang = "gl";
-  saneName = "gl";
-  sha256 = "1ryimhlddxwaa40si3j0id37xm845ybsfkck0i7x2kmg87a55wcz";
-}
-{
-  lang = "he";
-  saneName = "he";
-  sha256 = "01v4vkbyhbsv64z7mnj129ss1rnr00n19iiza0ivjzsbzryhh3p2";
-}
-{
-  lang = "hr";
-  saneName = "hr";
-  sha256 = "0s2a4nc3z03xj8za426arwr1cjqqcd6pq82lc9q0kiv2fpxgagxw";
-}
-{
-  lang = "hu";
-  saneName = "hu";
-  sha256 = "0sv4fsnnnnpnf14s7fv83g9kzqq31gl0647cy523xkyxpdwhj9hp";
-}
-{
-  lang = "ia";
-  saneName = "ia";
-  sha256 = "0k9gzxiyplvk78nqk3kmqh74lani6iqciyighii1m0cvylq5sljz";
-}
-{
-  lang = "id";
-  saneName = "id";
-  sha256 = "16l4wif0qsmvpikagkhfyh98wdss4w0imixnzawadx0jq5mac6ga";
-}
-{
-  lang = "is";
-  saneName = "is";
-  sha256 = "1g5pan1iy2mx43z5gxvp07n3a9yrc56y4pya2r9g6wjnzcp0ynbj";
-}
-{
-  lang = "it";
-  saneName = "it";
-  sha256 = "0p0grhjx04khqmih8gmlpgjazr8asv7ql1gj965sjaf8a6z1h5ar";
-}
-{
-  lang = "ja";
-  saneName = "ja";
-  sha256 = "1f6ig8x3siqww4bwldpgncpyhlmkf6hbd6ahlvd5dqn6hqpknygx";
-}
-{
-  lang = "kk";
-  saneName = "kk";
-  sha256 = "0kyhr0b5g842dds59l3rcvyq3n12xx11svcqbqhiqqm3a8qki9vi";
-}
-{
-  lang = "km";
-  saneName = "km";
-  sha256 = "02ss6rxqf71n06a769l0xky30nhyqdhhsad9lmxs0dbbnxdcnixr";
-}
-{
-  lang = "kn";
-  saneName = "kn";
-  sha256 = "0rk193a27hvh63lfb7yy8g0wxb05kymyqnhdxcmai3wk2n53bi9y";
-}
-{
-  lang = "ko";
-  saneName = "ko";
-  sha256 = "0wyplpkkq6mdm5k7jxxppwgrm4rrb5mbhagszg1y460rcx7d5vcm";
-}
-{
-  lang = "lt";
-  saneName = "lt";
-  sha256 = "08767csx7sq02jkkrdl16jj7jprqc3qbsz7vdcwli3274qjkdk9s";
-}
-{
-  lang = "lv";
-  saneName = "lv";
-  sha256 = "0f4mxjsg2ipsj57ki26n870zxnk28z9ayblzgmv821xiawjaa4gc";
-}
-{
-  lang = "nb";
-  saneName = "nb";
-  sha256 = "1myb1b4p849nvb4q2n5hcy5fsfb4zdvhc5vkwa2giiy0pv230cmm";
-}
-{
-  lang = "nds";
-  saneName = "nds";
-  sha256 = "1vm6fjac0aaxls0rlgz4s804kbarj1rzyli50dzfcfqwngzkckxk";
-}
-{
-  lang = "nl";
-  saneName = "nl";
-  sha256 = "02v0cscngl7wfsl7yc2xr1a593qq064spgk1ynzad1rz1g98z212";
-}
-{
-  lang = "nn";
-  saneName = "nn";
-  sha256 = "01s1kfp5x036hcpyl87qzqjlmjwp8hda3qplnj3inihias2cnvb7";
-}
-{
-  lang = "pa";
-  saneName = "pa";
-  sha256 = "0al2lwvj23rp1plg2ykakbgw6qzxkkd5pd2nqdfnaif9xq9fp9db";
-}
-{
-  lang = "pl";
-  saneName = "pl";
-  sha256 = "08fffsaay01dnbs7bg3w325bknjcfbp3f1ryrdy2g7w2achyakls";
-}
-{
-  lang = "pt";
-  saneName = "pt";
-  sha256 = "03klc7q1h0xxc43vqw2m87n4wzxg140ql7mlzrjsrdnqgx2pvch4";
-}
-{
-  lang = "pt_BR";
-  saneName = "pt_BR";
-  sha256 = "1g4nd48fzfxam8zsi0imw57lhjm7i7qifqmy53s7pfr4cmq4fbw5";
-}
-{
-  lang = "ro";
-  saneName = "ro";
-  sha256 = "112pj6bi1bagafh89322mdj8ynmljv0ry7z2zss4ljfhqxxndc6b";
-}
-{
-  lang = "ru";
-  saneName = "ru";
-  sha256 = "1i4fx5mrz9910wkfgi885gjafcspnk8nyx7cimkvnp6y2xwpl733";
-}
-{
-  lang = "si";
-  saneName = "si";
-  sha256 = "0h77cqi9cmzni4mn7k91ar56b9ph8dlyagn29wd958hpkxwbdqiw";
-}
-{
-  lang = "sk";
-  saneName = "sk";
-  sha256 = "1q8bxlaah7afs12ni8xpjj6nlxjmxfpzabavm7ixqwnn4l732vyn";
-}
-{
-  lang = "sl";
-  saneName = "sl";
-  sha256 = "0508w2k4g7f9dm0ds28h5hhxd5qc4w16zxqskygrs6144567hb0c";
-}
-{
-  lang = "sr";
-  saneName = "sr";
-  sha256 = "0bvbzah338bh8vnn2ppakd8zb49vcc7d95ahyahrkqc4ls5z60sv";
-}
-{
-  lang = "sv";
-  saneName = "sv";
-  sha256 = "1glgb7shn3qlszayyc11wjhbc5g29agq2rlwf45drk2b5fi2m8bn";
-}
-{
-  lang = "th";
-  saneName = "th";
-  sha256 = "0g3pgrsb3d33295nw45y0a318yb4bvld46xvjsd3ay8hxpxrf4yy";
-}
-{
-  lang = "tr";
-  saneName = "tr";
-  sha256 = "02k1jakxwj5zp0z7x8yrjrl17syzv6rfyscal6af5bavjsx99kxp";
-}
-{
-  lang = "ug";
-  saneName = "ug";
-  sha256 = "0wq1jlxwz2avqzb9yqnck69qkfy3q7cq76i2jadbfdvwk06w44bi";
-}
-{
-  lang = "uk";
-  saneName = "uk";
-  sha256 = "0813bmgi9k3kx2k8rl8h1l9p6zcnabk36p7nm8v9vb4v7d52cyds";
-}
-{
-  lang = "wa";
-  saneName = "wa";
-  sha256 = "14slp0ybjbsm62misrp9qni5pzw4pzz3zznzc49z0a7yfni9i6av";
-}
-{
-  lang = "zh_CN";
-  saneName = "zh_CN";
-  sha256 = "18jfbz2h8jjby48hwjyrd9yn3k7xbp58g28psmlhsg2m3f8mr669";
-}
-{
-  lang = "zh_TW";
-  saneName = "zh_TW";
-  sha256 = "09mfspiy3ihg0n6paqhp0g1srl60sxrkxgha536624kbrbwp1jpq";
-}
-]
diff --git a/pkgs/desktops/kde-4.7/oxygen-icons.nix b/pkgs/desktops/kde-4.7/oxygen-icons.nix
deleted file mode 100644
index 1f7572b4d8e..00000000000
--- a/pkgs/desktops/kde-4.7/oxygen-icons.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, cmake }:
-
-kde {
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "0c12c72bcf41cfaf03f85fc1ae27e44d8cecac3deb504ab1de4c30f4fc9e3cd0";
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = {
-    description = "KDE Oxygen theme icons";
-    longDescription = "Icons for KDE's default theme";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.7/support/akonadi/default.nix b/pkgs/desktops/kde-4.7/support/akonadi/default.nix
deleted file mode 100644
index cf515509602..00000000000
--- a/pkgs/desktops/kde-4.7/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.6.1";
-  
-  src = fetchurl {
-    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
-    sha256 = "0r8sw7m1pwqc7qkaczm0r8adqi1wvlhdp32gy3q5p5plq50xhgra";
-  };
-
-  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/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix
new file mode 100644
index 00000000000..fcd0c9fd453
--- /dev/null
+++ b/pkgs/development/compilers/aldor/default.nix
@@ -0,0 +1,51 @@
+{ fetchgit, stdenv, gmp, which, flex, bison, makeWrapper
+, autoconf, automake, libtool, openjdk, perl }:
+
+stdenv.mkDerivation {
+  name = "aldor-1.1.0";
+
+  src = fetchgit {
+    url = "https://github.com/pippijn/aldor";
+    sha256 = "14xv3jl15ib2knsdz0bd7jx64zg1qrr33q5zcr8gli860ps8gkg3";
+    rev = "f7b95835cf709654744441ddb1c515bfc2bec998";
+  };
+
+  buildInputs = [ gmp which flex bison makeWrapper autoconf automake libtool
+                  openjdk perl ];
+
+  preConfigure = ''
+    cd aldor ;
+    ./autogen.sh ;
+  '';
+
+  postInstall = ''
+    for prog in aldor unicl javagen ;
+    do
+      wrapProgram $out/bin/$prog --set ALDORROOT $out \
+        --prefix PATH : ${openjdk}/bin \
+        --prefix PATH : ${stdenv.gcc}/bin ;
+    done
+  '';
+
+  meta = {
+    homepage = "http://www.aldor.org/";
+    description = "Aldor is a programming language with an expressive type system";
+    license = stdenv.lib.licenses.asl20;
+
+    longDescription = ''
+      Aldor is a programming language with an expressive type system well-suited
+      for mathematical computing and which has been used to develop a number of
+      computer algebra libraries. Originally known as A#, Aldor was conceived as
+      an extension language for the Axiom system, but is now used more in other settings.
+      In Aldor, types and functions are first class values that can be constructed
+      and manipulated within programs. Pervasive support for dependent types allows
+      static checking of dynamic objects. What does this mean for a normal user? Aldor
+      solves many difficulties encountered in widely-used object-oriented programming
+      languages. It allows programs to use a natural style, combining the more attractive
+      and powerful properties of functional, object-oriented and aspect-oriented styles.
+    '';
+
+    maintainers = [ stdenv.lib.maintainers.simons ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/elm/elm-server.nix b/pkgs/development/compilers/elm/elm-server.nix
new file mode 100644
index 00000000000..f86c6688eb8
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-server.nix
@@ -0,0 +1,22 @@
+{ cabal, blazeHtml, deepseq, Elm, filepath, happstackServer, HTTP
+, mtl, parsec, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "elm-server";
+  version = "0.8";
+  sha256 = "0mnxayfg54f5mr27sd1zw3xrdijppgvrz2yzzmhp07qc1jiyfald";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    blazeHtml deepseq Elm filepath happstackServer HTTP mtl parsec
+    transformers
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://elm-lang.org";
+    description = "The Elm language server";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix
new file mode 100644
index 00000000000..8196458c70d
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm.nix
@@ -0,0 +1,22 @@
+{ cabal, blazeHtml, blazeMarkup, cmdargs, deepseq, filepath, hjsmin
+, indents, json, mtl, pandoc, parsec, shakespeare, text
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Elm";
+  version = "0.8.0.3";
+  sha256 = "0zai8glmkiqramivgz405zh385cz166gpry2yl29g37dxpwxffzb";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeHtml blazeMarkup cmdargs deepseq filepath hjsmin indents json
+    mtl pandoc parsec shakespeare text transformers
+  ];
+  meta = {
+    homepage = "http://elm-lang.org";
+    description = "The Elm language module";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix
index e87dd88bf0d..6be976783bc 100644
--- a/pkgs/development/compilers/fpc/default.nix
+++ b/pkgs/development/compilers/fpc/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "fpc-${version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/sourceforge/freepascal/Source/${version}/fpcbuild-${version}.tar.gz";
+    url = "mirror://sourceforge/freepascal/fpcbuild-${version}.tar.gz";
     sha256 = "1vxy2y8pm0ribhpdhqlwwz696ncnz4rk2dafbn1mjgipm97qb26p";
   };
 
diff --git a/pkgs/development/compilers/go/1.1.nix b/pkgs/development/compilers/go/1.1.nix
index 39c79e9a3de..01a8f1b6b18 100644
--- a/pkgs/development/compilers/go/1.1.nix
+++ b/pkgs/development/compilers/go/1.1.nix
@@ -7,11 +7,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "go-1.1";
+  name = "go-1.1.1";
 
   src = fetchurl {
-    url = http://go.googlecode.com/files/go1.1.src.tar.gz;
-    sha1 = "a464704ebbbdd552a39b5f9429b059c117d165b3";
+    url = http://go.googlecode.com/files/go1.1.1.src.tar.gz;
+    sha1 = "f365aed8183e487a48a66ace7bf36e5974dffbb3";
   };
 
   buildInputs = [ bison glibc bash makeWrapper ];
diff --git a/pkgs/development/compilers/strategoxt/0.17.nix b/pkgs/development/compilers/strategoxt/0.17.nix
index c84734d7ac7..d621cbf5f0c 100644
--- a/pkgs/development/compilers/strategoxt/0.17.nix
+++ b/pkgs/development/compilers/strategoxt/0.17.nix
@@ -82,7 +82,7 @@ rec {
 
 
   dryad = stdenv.mkDerivation rec {
-    name = "dryad-0.2pre1835518355";
+    name = "dryad-0.2pre18355";
 
     src = fetchurl {
       url = "http://releases.strategoxt.org/dryad/${name}-zbqfh1rm/dryad-0.2pre18355.tar.gz";
diff --git a/pkgs/development/compilers/strategoxt/0.18.nix b/pkgs/development/compilers/strategoxt/0.18.nix
index 85d373afa0d..7e58c561739 100644
--- a/pkgs/development/compilers/strategoxt/0.18.nix
+++ b/pkgs/development/compilers/strategoxt/0.18.nix
@@ -59,7 +59,7 @@ rec {
   };
 
   javafront = stdenv.mkDerivation (rec {
-    name = "java-front-0.9.1";
+    name = "java-front-0.9.1pre20122";
 
     src = fetchurl {
       url = "http://hydra.nixos.org/build/766286/download/1/java-front-0.9.1pre20122.tar.gz";
@@ -92,7 +92,7 @@ rec {
   } // ( if stdenv.system == "i686-cygwin" then { CFLAGS = "-O2"; } else {} ) ) ;
 
   dryad = stdenv.mkDerivation rec {
-    name = "dryad-0.2pre1835518355";
+    name = "dryad-0.2pre18355";
 
     src = fetchurl {
       url = "http://releases.strategoxt.org/dryad/${name}-zbqfh1rm/dryad-0.2pre18355.tar.gz";
diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix
index 753c0f8ee77..f9a48468df3 100644
--- a/pkgs/development/compilers/yap/default.nix
+++ b/pkgs/development/compilers/yap/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "yap-5.1.1";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/yap/Yap-5.1.1.tar.gz";
+    url = "mirror://sourceforge/yap/Yap-5.1.1.tar.gz";
     sha256 = "0bajxmlla9gay4m4l7y7x6qldxzi0jcq2ykgpjk9liky7g5kbnya";
   };
 
diff --git a/pkgs/development/interpreters/php-xdebug/default.nix b/pkgs/development/interpreters/php-xdebug/default.nix
index fe7bbb869da..99c5ad663af 100644
--- a/pkgs/development/interpreters/php-xdebug/default.nix
+++ b/pkgs/development/interpreters/php-xdebug/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
   configurePhase = ''
     phpize
     ./configure --prefix=$out
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    # looks for this file for some reason -- isn't needed
+    touch unix.h
   '';
 
   buildPhase = ''
diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix
index d879a611c2a..caa673b31a9 100644
--- a/pkgs/development/interpreters/php/5.3.nix
+++ b/pkgs/development/interpreters/php/5.3.nix
@@ -10,7 +10,7 @@ in
 
 composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.3.25";
+  version = "5.3.27";
 
   name = "php-${version}";
 
@@ -134,8 +134,11 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       };
 
       imap = {
-        configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ];
-        buildInputs = [ uwimap openssl pam ];
+        configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ]
+          # uwimap builds with kerberos on darwin
+          ++ stdenv.lib.optional (stdenv.isDarwin) "--with-kerberos";
+        buildInputs = [ uwimap openssl ]
+          ++ stdenv.lib.optional (!stdenv.isDarwin) pam;
       };
 
       intl = {
@@ -205,6 +208,9 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
     [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
     ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
     echo configurePhase end
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    # don't build php.dSYM as the php binary
+    sed -i 's/EXEEXT = \.dSYM/EXEEXT =/' Makefile
   '';
 
   installPhase = ''
@@ -217,8 +223,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
   '' );
 
   src = fetchurl {
-    url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
-    sha256 = "15dwks0823m0vc3qv58yxfvchwx9ydg5gjvjy8kpc5w3syras76m";
+    url = "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror";
+    sha256 = "11xj6v65m6l2lq2s2j5pq5l0iwjsnxmv1nad9hja50ivc8fb4bg1";
     name = "php-${version}.tar.bz2";
   };
 
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index 35b1f82c246..327ee8063a1 100644
--- a/pkgs/development/interpreters/php/5.4.nix
+++ b/pkgs/development/interpreters/php/5.4.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
 , apacheHttpd, mysql, libxml2, readline, zlib, curl, gd, postgresql, gettext
 , openssl, pkgconfig, sqlite, config, libiconv, libjpeg, libpng, freetype
-, libxslt, libmcrypt, bzip2, icu }:
+, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash }:
 
 let
   libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
@@ -9,7 +9,7 @@ in
 
 composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.4.15";
+  version = "5.4.17";
 
   name = "php-${version}";
 
@@ -30,6 +30,16 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
 
       # Extensions
 
+      ldap = {
+        configureFlags = ["--with-ldap=${openldap}"];
+        buildInputs = [openldap cyrus_sasl openssl];
+      };
+
+      mhash = {
+        configureFlags = ["--with-mhash"];
+        buildInputs = [libmhash];
+      };
+
       curl = {
         configureFlags = ["--with-curl=${curl}" "--with-curlwrappers"];
         buildInputs = [curl openssl];
@@ -167,6 +177,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
     };
 
   cfg = {
+    ldapSupport = config.php.ldap or true;
+    mhashSupport = config.php.mhash or true;
     mysqlSupport = config.php.mysql or true;
     mysqliSupport = config.php.mysqli or true;
     pdo_mysqlSupport = config.php.pdo_mysql or true;
@@ -214,8 +226,11 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
   '';
 
   src = fetchurl {
-    url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
-    sha256 = "0dh159svdrakvm9nsyg3yyln7cqqzpxgs2163cqxplnc93d8a8id";
+    urls = [
+      "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 = "1d3y69hvplaqif2fl5s1lwx0y0m55j8b8fwag6ngdld5hx9r6jfw";
     name = "php-${version}.tar.bz2";
   };
 
diff --git a/pkgs/development/interpreters/pypy/2.0/default.nix b/pkgs/development/interpreters/pypy/2.0/default.nix
new file mode 100644
index 00000000000..2dd681239a6
--- /dev/null
+++ b/pkgs/development/interpreters/pypy/2.0/default.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
+, sqlite, openssl, ncurses, pythonFull, expat }:
+
+assert zlibSupport -> zlib != null;
+
+let
+
+  majorVersion = "2.0";
+  version = "${majorVersion}.2";
+  pythonVersion = "2.7";
+  libPrefix = "pypy${majorVersion}";
+
+  pypy = stdenv.mkDerivation rec {
+    name = "pypy-${version}";
+
+    inherit majorVersion version;
+
+    src = fetchurl {
+      url = "https://bitbucket.org/pypy/pypy/downloads/pypy-${version}-src.tar.bz2";
+      sha256 = "0g2cajs6m3yf0lak5f18ccs6j77cf5xvbm4h6y5l1qlqdc6wk48r";
+    };
+
+    buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite ]
+      ++ stdenv.lib.optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc
+      ++ stdenv.lib.optional zlibSupport zlib;
+
+    C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs);
+    LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
+    LD_LIBRARY_PATH = LIBRARY_PATH;
+
+    preConfigure = ''
+      substituteInPlace Makefile \
+        --replace "-Ojit" "-Ojit --batch" \
+        --replace "pypy/goal/targetpypystandalone.py" "pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing"
+
+      # we are using cpython and not pypy to do translation
+      substituteInPlace rpython/bin/rpython \
+        --replace "/usr/bin/env pypy" "${pythonFull}/bin/python"
+      substituteInPlace pypy/goal/targetpypystandalone.py \
+        --replace "/usr/bin/env pypy" "${pythonFull}/bin/python"
+
+      # convince pypy to find nix ncurses
+      substituteInPlace pypy/module/_minimal_curses/fficurses.py \
+        --replace "/usr/include/ncurses/curses.h" "${ncurses}/include/curses.h" \
+        --replace "ncurses/curses.h" "${ncurses}/include/curses.h" \
+        --replace "ncurses/term.h" "${ncurses}/include/term.h" \
+        --replace "libraries = ['curses']" "libraries = ['ncurses']"
+    '';
+
+
+    doCheck = true;
+    checkPhase = ''
+       export TERMINFO="${ncurses}/share/terminfo/";
+       export TERM="xterm";
+       export HOME="$TMPDIR";
+       # disable shutils because it assumes gid 0 exists
+       # disable socket because it has two actual network tests that fail
+      ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_socket -test_shutil' lib-python
+    '';
+
+    installPhase = ''
+       mkdir -p $out/{bin,include,lib,pypy-c}
+
+       cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c
+       ln -s $out/pypy-c/pypy-c $out/bin/pypy
+       chmod +x $out/bin/pypy
+
+       # other packages expect to find stuff according to libPrefix
+       ln -s $out/pypy-c/include $out/include/${libPrefix}
+       ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
+
+       # TODO: compile python files?
+    '';
+
+    passthru = {
+      inherit zlibSupport libPrefix;
+      executable = "pypy";
+    };
+
+    enableParallelBuilding = true;
+
+    meta = with stdenv.lib; {
+      homepage = "http://pypy.org/";
+      description = "PyPy is a fast, compliant alternative implementation of the Python language (2.7.3)";
+      license = licenses.mit;
+      platforms = platforms.all;
+      maintainers = with maintainers; [ iElectric ];
+    };
+  };
+
+in pypy
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 38060e9af33..521d0816678 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -75,6 +75,7 @@ let
     passthru = {
       inherit zlibSupport;
       libPrefix = "python${majorVersion}";
+      executable = "python2.6";
     };
 
     enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix
index 1771a329947..96514a6de85 100644
--- a/pkgs/development/interpreters/python/2.7/default.nix
+++ b/pkgs/development/interpreters/python/2.7/default.nix
@@ -85,6 +85,7 @@ let
     passthru = {
       inherit zlibSupport;
       libPrefix = "python${majorVersion}";
+      executable = "python2.7";
     };
 
     enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix
new file mode 100644
index 00000000000..e09602e7381
--- /dev/null
+++ b/pkgs/development/interpreters/python/3.2/default.nix
@@ -0,0 +1,87 @@
+{ stdenv, fetchurl
+, bzip2
+, db4
+, gdbm
+, libX11, xproto
+, ncurses
+, openssl
+, readline
+, sqlite
+, tcl, tk
+, zlib
+}:
+
+assert readline != null -> ncurses != null;
+
+with stdenv.lib;
+
+let
+  majorVersion = "3.2";
+  version = "${majorVersion}.5";
+
+  buildInputs = filter (p: p != null) [
+    zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto
+  ];
+in
+stdenv.mkDerivation {
+  name = "python3-${version}";
+  inherit majorVersion version;
+
+  src = fetchurl {
+    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
+    sha256 = "0pxs234g08v3lar09lvzxw4vqdpwkbqmvkv894j2w7aklskcjd6v";
+  };
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
+
+  preConfigure = ''
+    for i in /usr /sw /opt /pkg; do	# improve purity
+      substituteInPlace ./setup.py --replace $i /no-such-path
+    done
+    ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''}
+
+    configureFlagsArray=( --enable-shared --with-threads
+                          CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}"
+                          LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}"
+                          LIBS="-lcrypt ${optionalString (ncurses != null) "-lncurses"}"
+                        )
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  postInstall = ''
+    rm -rf "$out/lib/python${majorVersion}/test"
+    ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
+  '';
+
+  passthru = {
+    zlibSupport = zlib != null;
+    sqliteSupport = sqlite != null;
+    db4Support = db4 != null;
+    readlineSupport = readline != null;
+    opensslSupport = openssl != null;
+    tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
+    libPrefix = "python${majorVersion}";
+    executable = "python3.2m";
+    is_py3k = true;
+  };
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://python.org";
+    description = "a high-level dynamically-typed programming language";
+    longDescription = ''
+      Python is a remarkably powerful dynamic programming language that
+      is used in a wide variety of application domains. Some of its key
+      distinguishing features include: clear, readable syntax; strong
+      introspection capabilities; intuitive object orientation; natural
+      expression of procedural code; full modularity, supporting
+      hierarchical packages; exception-based error handling; and very
+      high level dynamic data types.
+    '';
+    license = stdenv.lib.licenses.psfl;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
+  };
+}
diff --git a/pkgs/development/interpreters/python/3.2/setup-hook.sh b/pkgs/development/interpreters/python/3.2/setup-hook.sh
new file mode 100644
index 00000000000..e6fa34bf54b
--- /dev/null
+++ b/pkgs/development/interpreters/python/3.2/setup-hook.sh
@@ -0,0 +1,15 @@
+addPythonPath() {
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.2/site-packages
+}
+
+toPythonPath() {
+    local paths="$1"
+    local result=
+    for i in $paths; do
+        p="$i/lib/python3.2/site-packages"
+        result="${result}${result:+:}$p"
+    done
+    echo $result
+}
+
+envHooks=(${envHooks[@]} addPythonPath)
diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix
index 16973c6226e..509249b7f24 100644
--- a/pkgs/development/interpreters/python/3.3/default.nix
+++ b/pkgs/development/interpreters/python/3.3/default.nix
@@ -17,7 +17,7 @@ with stdenv.lib;
 
 let
   majorVersion = "3.3";
-  version = "${majorVersion}.1";
+  version = "${majorVersion}.2";
 
   buildInputs = filter (p: p != null) [
     zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto
@@ -28,10 +28,12 @@ stdenv.mkDerivation {
   inherit majorVersion version;
 
   src = fetchurl {
-    url = "http://www.python.org/ftp/python/3.3.1/Python-${version}.tar.bz2";
-    sha256 = "0mm7nvdd85p6b26jwshy2dhicf0b06mb5lrl564i3c5q7jgs1vll";
+    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
+    sha256 = "16myvina7nakyyg7r5gnjyydk8bzar988vmxsw2k485w5gz04wpp";
   };
 
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
+
   preConfigure = ''
     for i in /usr /sw /opt /pkg; do	# improve purity
       substituteInPlace ./setup.py --replace $i /no-such-path
@@ -49,6 +51,7 @@ stdenv.mkDerivation {
 
   postInstall = ''
     rm -rf "$out/lib/python${majorVersion}/test"
+    ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
   '';
 
   passthru = {
@@ -58,7 +61,9 @@ stdenv.mkDerivation {
     readlineSupport = readline != null;
     opensslSupport = openssl != null;
     tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
-    libPrefix = "python${majorVersion}m";
+    libPrefix = "python${majorVersion}";
+    executable = "python3.3m";
+    is_py3k = true;
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/3.3/setup-hook.sh b/pkgs/development/interpreters/python/3.3/setup-hook.sh
index e6fa34bf54b..c272c87daf1 100644
--- a/pkgs/development/interpreters/python/3.3/setup-hook.sh
+++ b/pkgs/development/interpreters/python/3.3/setup-hook.sh
@@ -1,12 +1,12 @@
 addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.2/site-packages
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.3/site-packages
 }
 
 toPythonPath() {
     local paths="$1"
     local result=
     for i in $paths; do
-        p="$i/lib/python3.2/site-packages"
+        p="$i/lib/python3.3/site-packages"
         result="${result}${result:+:}$p"
     done
     echo $result
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index 77464bdce37..7446e52704c 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -3,88 +3,88 @@
 g: # Get dependencies from patched gems
 {
   aliases = {
-    ZenTest = g.ZenTest_4_9_0;
-    actionmailer = g.actionmailer_3_2_13;
-    actionpack = g.actionpack_3_2_13;
-    activemodel = g.activemodel_3_2_13;
-    activerecord = g.activerecord_3_2_13;
-    activeresource = g.activeresource_3_2_13;
-    activesupport = g.activesupport_3_2_13;
-    addressable = g.addressable_2_3_3;
-    arel = g.arel_3_0_2;
+    ZenTest = g.ZenTest_4_9_2;
+    actionmailer = g.actionmailer_4_0_0;
+    actionpack = g.actionpack_4_0_0;
+    activemodel = g.activemodel_4_0_0;
+    activerecord = g.activerecord_4_0_0;
+    activerecord_deprecated_finders = g.activerecord_deprecated_finders_1_0_3;
+    activesupport = g.activesupport_4_0_0;
+    addressable = g.addressable_2_3_5;
+    arel = g.arel_4_0_0;
+    atomic = g.atomic_1_1_10;
     atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
     autotest_rails = g.autotest_rails_4_1_2;
-    aws_sdk = g.aws_sdk_1_8_5;
+    aws_sdk = g.aws_sdk_1_12_0;
     bitbucket_backup = g.bitbucket_backup_0_2_2;
-    builder = g.builder_3_2_0;
-    buildr = g.buildr_1_4_11;
-    bundler = g.bundler_1_3_4;
+    builder = g.builder_3_2_2;
+    buildr = g.buildr_1_4_12;
+    bundler = g.bundler_1_3_5;
     childprocess = g.childprocess_0_3_9;
     chronic = g.chronic_0_9_1;
     daemons = g.daemons_1_1_9;
     diff_lcs = g.diff_lcs_1_1_3;
     dimensions = g.dimensions_1_2_0;
+    domain_name = g.domain_name_0_5_12;
+    dotenv = g.dotenv_0_8_0;
     em_resolv_replace = g.em_resolv_replace_1_1_3;
     erubis = g.erubis_2_7_0;
     eventmachine = g.eventmachine_1_0_3;
     eventmachine_tail = g.eventmachine_tail_0_6_4;
-    excon = g.excon_0_25_0;
     execjs = g.execjs_1_4_0;
     fakes3 = g.fakes3_0_1_5;
     faraday = g.faraday_0_8_7;
     faraday_middleware = g.faraday_middleware_0_8_8;
-    ffi = g.ffi_1_6_0;
+    ffi = g.ffi_1_9_0;
     file_tail = g.file_tail_1_0_12;
-    foreman = g.foreman_0_62_0;
+    foreman = g.foreman_0_63_0;
     gettext = g.gettext_2_3_9;
-    heroku = g.heroku_2_39_4;
-    heroku_api = g.heroku_api_0_3_13;
-    highline = g.highline_1_6_16;
-    hike = g.hike_1_2_1;
+    highline = g.highline_1_6_19;
+    hike = g.hike_1_2_3;
     hoe = g.hoe_3_1_0;
+    http_cookie = g.http_cookie_1_0_1;
     i18n = g.i18n_0_6_4;
     iconv = g.iconv_1_0_3;
-    journey = g.journey_1_0_4;
     jruby_pageant = g.jruby_pageant_1_1_1;
-    jsduck = g.jsduck_4_7_1;
-    json = g.json_1_7_7;
-    json_pure = g.json_pure_1_7_7;
-    launchy = g.launchy_2_3_0;
-    libv8 = g.libv8_3_3_10_4;
+    jsduck = g.jsduck_4_10_4;
+    json = g.json_1_8_0;
+    json_pure = g.json_pure_1_8_0;
+    libv8 = g.libv8_3_11_8_17_x86_64_linux;
     locale = g.locale_2_0_8;
     lockfile = g.lockfile_2_1_0;
     macaddr = g.macaddr_1_6_1;
-    mail = g.mail_2_5_3;
-    mime_types = g.mime_types_1_21;
+    mail = g.mail_2_5_4;
+    mechanize = g.mechanize_2_7_1;
+    mime_types = g.mime_types_1_23;
+    mini_portile = g.mini_portile_0_5_1;
     minitar = g.minitar_0_5_3;
-    multi_json = g.multi_json_1_7_2;
+    minitest = g.minitest_4_7_5;
+    multi_json = g.multi_json_1_7_7;
     multipart_post = g.multipart_post_1_2_0;
+    net_http_digest_auth = g.net_http_digest_auth_1_3;
+    net_http_persistent = g.net_http_persistent_2_8;
     net_sftp = g.net_sftp_2_0_5;
-    net_ssh = g.net_ssh_2_6_6;
-    netrc = g.netrc_0_7_7;
+    net_ssh = g.net_ssh_2_6_8;
     nix = g.nix_0_1_1;
-    nokogiri = g.nokogiri_1_5_9;
+    nokogiri = g.nokogiri_1_6_0;
+    ntlm_http = g.ntlm_http_0_1_1;
     papertrail = g.papertrail_0_9_7;
     papertrail_cli = g.papertrail_cli_0_9_3;
-    parallel = g.parallel_0_6_3;
+    parallel = g.parallel_0_7_1;
     polyglot = g.polyglot_0_3_3;
     rack = g.rack_1_5_2;
-    rack_cache = g.rack_cache_1_2;
     rack_protection = g.rack_protection_1_5_0;
-    rack_ssl = g.rack_ssl_1_3_3;
     rack_test = g.rack_test_0_6_2;
-    rails = g.rails_3_2_13;
-    railties = g.railties_3_2_13;
-    rake = g.rake_10_0_4;
+    rails = g.rails_4_0_0;
+    railties = g.railties_4_0_0;
+    rake = g.rake_10_1_0;
     rb_fsevent = g.rb_fsevent_0_9_3;
-    rb_readline = g.rb_readline_0_5_0;
-    rdiscount = g.rdiscount_2_0_7_1;
-    rdoc = g.rdoc_3_12_2;
-    remote_syslog = g.remote_syslog_1_6_13;
-    rest_client = g.rest_client_1_6_7;
-    right_aws = g.right_aws_3_0_5;
-    right_http_connection = g.right_http_connection_1_3_0;
-    rjb = g.rjb_1_4_6;
+    rdiscount = g.rdiscount_2_1_6;
+    ref = g.ref_1_0_5;
+    remote_syslog = g.remote_syslog_1_6_14;
+    right_aws = g.right_aws_3_1_0;
+    right_http_connection = g.right_http_connection_1_4_0;
+    rjb = g.rjb_1_4_8;
     rmail = g.rmail_1_0_0;
     rspec = g.rspec_2_11_0;
     rspec_core = g.rspec_core_2_11_1;
@@ -92,33 +92,38 @@ g: # Get dependencies from patched gems
     rspec_mocks = g.rspec_mocks_2_11_3;
     rubyforge = g.rubyforge_2_0_4;
     rubyzip = g.rubyzip_0_9_9;
-    sass = g.sass_3_2_7;
-    selenium_webdriver = g.selenium_webdriver_2_31_0;
+    sass = g.sass_3_2_9;
+    selenium_webdriver = g.selenium_webdriver_2_33_0;
     servolux = g.servolux_0_10_0;
     sinatra = g.sinatra_1_3_2;
-    sprockets = g.sprockets_2_2_2;
+    sprockets = g.sprockets_2_10_0;
+    sprockets_rails = g.sprockets_rails_2_0_0;
     syslog_protocol = g.syslog_protocol_0_9_2;
     systemu = g.systemu_2_5_2;
     text = g.text_1_2_1;
-    therubyracer = g.therubyracer_0_10_2;
+    therubyracer = g.therubyracer_0_11_4;
     thin = g.thin_1_5_1;
-    thor = g.thor_0_18_0;
-    tilt = g.tilt_1_3_6;
-    tins = g.tins_0_7_2;
-    treetop = g.treetop_1_4_12;
+    thor = g.thor_0_18_1;
+    thread_safe = g.thread_safe_0_1_0;
+    tilt = g.tilt_1_4_1;
+    tins = g.tins_0_8_3;
+    treetop = g.treetop_1_4_14;
     trollop = g.trollop_2_0;
     tzinfo = g.tzinfo_0_3_37;
+    unf = g.unf_0_1_1;
+    unf_ext = g.unf_ext_0_0_6;
     uuid = g.uuid_2_3_7;
-    uuidtools = g.uuidtools_2_1_3;
+    uuidtools = g.uuidtools_2_1_4;
+    webrobots = g.webrobots_0_1_1;
     websocket = g.websocket_1_0_7;
-    xapian_full_alaveteli = g.xapian_full_alaveteli_1_2_9_5;
+    xapian_full = g.xapian_full_1_2_3;
     xapian_ruby = g.xapian_ruby_1_2_15_1;
     xml_simple = g.xml_simple_1_1_1;
     yajl_ruby = g.yajl_ruby_1_1_0;
   };
-  gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''fakes3'' ''foreman'' ''jsduck'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''right_aws'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''thin'' ''uuid'' ];
+  gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''thin'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ];
   gems = {
-    ZenTest_4_9_0 = {
+    ZenTest_4_9_2 = {
       basename = ''ZenTest'';
       meta = {
         description = ''ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby'';
@@ -145,89 +150,75 @@ multiruby runs anything you want on multiple versions of ruby. Great
 for compatibility checking! Use multiruby_setup to manage your
 installed versions.'';
       };
-      name = ''ZenTest-4.9.0'';
+      name = ''ZenTest-4.9.2'';
       requiredGems = [  ];
-      sha256 = ''16bp7rwl463m0d213rmwp4rjfwiw1bm529c518v91l18h7hcnb96'';
+      sha256 = ''18hzvxpr3lzjy3gwlxxaihsvabibpcs2yvqvky1d62gkaj6v9npi'';
     };
-    actionmailer_3_2_13 = {
+    actionmailer_4_0_0 = {
       basename = ''actionmailer'';
       meta = {
         description = ''Email composition, delivery, and receiving framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.'';
       };
-      name = ''actionmailer-3.2.13'';
-      requiredGems = [ g.actionpack_3_2_13 g.mail_2_5_3 ];
-      sha256 = ''0ksw1b5rba8l6400qgc6zjdn14q68n6crjmm76ggg32r4wv3xn06'';
+      name = ''actionmailer-4.0.0'';
+      requiredGems = [ g.actionpack_4_0_0 g.mail_2_5_4 ];
+      sha256 = ''0d63hmddll0vdbzzxj4zl6njv1pm7j2njvqfccvvyypwsynfjkgk'';
     };
-    actionpack_3_2_13 = {
+    actionpack_4_0_0 = {
       basename = ''actionpack'';
       meta = {
         description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.'';
       };
-      name = ''actionpack-3.2.13'';
-      requiredGems = [ g.activesupport_3_2_13 g.activemodel_3_2_13 g.rack_cache_1_2 g.builder_3_0_4 g.rack_1_4_5 g.rack_test_0_6_2 g.journey_1_0_4 g.sprockets_2_2_2 g.erubis_2_7_0 ];
-      sha256 = ''1m3kd3rwa4z0yik68xi0l9q71lyzq4gdciqaw5w2w9pal1cj8y5w'';
+      name = ''actionpack-4.0.0'';
+      requiredGems = [ g.activesupport_4_0_0 g.builder_3_1_4 g.rack_1_5_2 g.rack_test_0_6_2 g.erubis_2_7_0 ];
+      sha256 = ''0hx9hdbqqm73l81p5r520zdk218739414yhw9yrys905ks2f5j4d'';
     };
-    activemodel_3_2_13 = {
+    activemodel_4_0_0 = {
       basename = ''activemodel'';
       meta = {
         description = ''A toolkit for building modeling frameworks (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''A toolkit for building modeling frameworks like Active Record and Active Resource. Rich support for attributes, callbacks, validations, observers, serialization, internationalization, and testing.'';
+        longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, observers, serialization, internationalization, and testing.'';
       };
-      name = ''activemodel-3.2.13'';
-      requiredGems = [ g.activesupport_3_2_13 g.builder_3_0_4 ];
-      sha256 = ''0lpc9ylwm00g66hmgj06iq51m2l234ii7k6qsjiywf9x5fq6khn5'';
+      name = ''activemodel-4.0.0'';
+      requiredGems = [ g.activesupport_4_0_0 g.builder_3_1_4 ];
+      sha256 = ''0vsq5bzsyfrzgnhizlipivmh7m9p0ky29avx47wnaqwjlpkir5m2'';
     };
-    activerecord_3_2_13 = {
+    activerecord_4_0_0 = {
       basename = ''activerecord'';
       meta = {
         description = ''Object-relational mapper framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
       };
-      name = ''activerecord-3.2.13'';
-      requiredGems = [ g.activesupport_3_2_13 g.activemodel_3_2_13 g.arel_3_0_2 g.tzinfo_0_3_37 ];
-      sha256 = ''1z5rrjy2v27xldr24sd4sxi6k6f5anyg20kwj3qyc0jjn8c0gv85'';
+      name = ''activerecord-4.0.0'';
+      requiredGems = [ g.activesupport_4_0_0 g.activemodel_4_0_0 g.arel_4_0_0 g.activerecord_deprecated_finders_1_0_3 ];
+      sha256 = ''0lhksb0172kz23yhibr1rxihyp01h2ajqxd0l4nahs2qc9jlr722'';
     };
-    activeresource_3_2_13 = {
-      basename = ''activeresource'';
+    activerecord_deprecated_finders_1_0_3 = {
+      basename = ''activerecord_deprecated_finders'';
       meta = {
-        description = ''REST modeling framework (part of Rails).'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models.'';
+        description = ''This gem contains deprecated finder APIs extracted from Active Record.'';
+        homepage = ''https://github.com/rails/activerecord-deprecated_finders'';
+        longDescription = ''Deprecated finder APIs extracted from Active Record.'';
       };
-      name = ''activeresource-3.2.13'';
-      requiredGems = [ g.activesupport_3_2_13 g.activemodel_3_2_13 ];
-      sha256 = ''1r4ph4cqd32d4lq9bfyv1dpfxc4qndcqhqx7h7xg4p0va7dz251l'';
+      name = ''activerecord-deprecated_finders-1.0.3'';
+      requiredGems = [  ];
+      sha256 = ''1z2g7h2ywhplrsjrsh8961agf17s9rj8ypdwjj482mw86if3dslp'';
     };
-    activesupport_3_2_13 = {
+    activesupport_4_0_0 = {
       basename = ''activesupport'';
       meta = {
         description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
       };
-      name = ''activesupport-3.2.13'';
-      requiredGems = [ g.i18n_0_6_1 g.multi_json_1_7_2 ];
-      sha256 = ''1vailj8ja9g3s029p5qbvqdpxcis5gcpkl2d6j7a6d36hxlwlf8y'';
-    };
-    addressable_2_3_3 = {
-      basename = ''addressable'';
-      meta = {
-        description = ''URI Implementation'';
-        homepage = ''http://addressable.rubyforge.org/'';
-        longDescription = ''Addressable is a replacement for the URI implementation that is part of
-Ruby's standard library. It more closely conforms to the relevant RFCs and
-adds support for IRIs and URI templates.
-'';
-      };
-      name = ''addressable-2.3.3'';
-      requiredGems = [  ];
-      sha256 = ''0nn583ba8kq4hhpr4lr2zzpm4r0mga0zfalxxpa6a4v27q71v5hh'';
+      name = ''activesupport-4.0.0'';
+      requiredGems = [ g.i18n_0_6_4 g.multi_json_1_7_7 g.tzinfo_0_3_37 g.minitest_4_7_5 g.thread_safe_0_1_0 ];
+      sha256 = ''0agxkvjhhv6r9rpm0lcgjny4sn1ihhvhlgs46rgi3fz0y1d93ids'';
     };
     addressable_2_3_5 = {
       basename = ''addressable'';
@@ -243,7 +234,7 @@ adds support for IRIs and URI templates.
       requiredGems = [  ];
       sha256 = ''11hv69v6h39j7m4v51a4p7my7xwjbhxbsg3y7ja156z7by10wkg7'';
     };
-    arel_3_0_2 = {
+    arel_4_0_0 = {
       basename = ''arel'';
       meta = {
         description = ''Arel is a SQL AST manager for Ruby'';
@@ -257,9 +248,20 @@ It is intended to be a framework framework; that is, you can build your own ORM
 with it, focusing on innovative object and collection modeling as opposed to
 database compatibility and query generation.'';
       };
-      name = ''arel-3.0.2'';
+      name = ''arel-4.0.0'';
+      requiredGems = [  ];
+      sha256 = ''19xzg8jhp4p18xlf6sp4yhf6vdpc3hl8lm23n6glikclm7rvgick'';
+    };
+    atomic_1_1_10 = {
+      basename = ''atomic'';
+      meta = {
+        description = ''An atomic reference implementation for JRuby, Rubinius, and MRI'';
+        homepage = ''http://github.com/headius/ruby-atomic'';
+        longDescription = ''An atomic reference implementation for JRuby, Rubinius, and MRI'';
+      };
+      name = ''atomic-1.1.10'';
       requiredGems = [  ];
-      sha256 = ''158bvrhammpblky9z9dgimjr55bdypfx6w5s1dm4vyj42h49qpkx'';
+      sha256 = ''0ms6b2f9hij6bap901ra2wx7lk4y2bsasifcqr7m3z8l5my372jh'';
     };
     atoulme_Antwrap_0_7_4 = {
       basename = ''atoulme_Antwrap'';
@@ -280,7 +282,7 @@ database compatibility and query generation.'';
 	check out Buildr!'';
       };
       name = ''atoulme-Antwrap-0.7.4'';
-      requiredGems = [ g.rjb_1_4_6 ];
+      requiredGems = [ g.rjb_1_4_8 ];
       sha256 = ''0sh9capkya88qm9mvixwly32fwb2c4nzif9j9vv0f73rqw8kz4j4'';
     };
     autotest_rails_4_1_2 = {
@@ -292,19 +294,19 @@ database compatibility and query generation.'';
 rails support and extra plugins for migrations and fixtures.'';
       };
       name = ''autotest-rails-4.1.2'';
-      requiredGems = [ g.ZenTest_4_9_0 ];
+      requiredGems = [ g.ZenTest_4_9_2 ];
       sha256 = ''1wkb5jayb39yx0i8ly7sibygf9f9c3w24jg2z1qgm135zlb070v4'';
     };
-    aws_sdk_1_8_5 = {
+    aws_sdk_1_12_0 = {
       basename = ''aws_sdk'';
       meta = {
         description = ''AWS SDK for Ruby'';
         homepage = ''http://aws.amazon.com/sdkforruby'';
         longDescription = ''AWS SDK for Ruby'';
       };
-      name = ''aws-sdk-1.8.5'';
-      requiredGems = [ g.uuidtools_2_1_3 g.nokogiri_1_5_9 g.json_1_7_7 ];
-      sha256 = ''0rhkkkfsw0qzckn99mnvpbnl7b1kysma3x8bbqwah2x438kwygpb'';
+      name = ''aws-sdk-1.12.0'';
+      requiredGems = [ g.uuidtools_2_1_4 g.nokogiri_1_5_10 g.json_1_8_0 ];
+      sha256 = ''0ijz5ch7ch5kj19j5caf5h3hdfmmny9v9clkdh664cr46ylvkv3n'';
     };
     bitbucket_backup_0_2_2 = {
       basename = ''bitbucket_backup'';
@@ -314,10 +316,10 @@ rails support and extra plugins for migrations and fixtures.'';
         longDescription = ''A tool to backup Bitbucket repos.'';
       };
       name = ''bitbucket-backup-0.2.2'';
-      requiredGems = [ g.highline_1_6_16 g.json_1_7_7 ];
+      requiredGems = [ g.highline_1_6_19 g.json_1_8_0 ];
       sha256 = ''1kzg6pkzw04n96i6mhb74gpg4c899wly5fc2m1y6m2xvn71qksys'';
     };
-    builder_3_0_4 = {
+    builder_3_1_3 = {
       basename = ''builder'';
       meta = {
         description = ''Builders for MarkUp.'';
@@ -329,11 +331,11 @@ simple to do.  Currently the following builder objects are supported:
 * XML Events
 '';
       };
-      name = ''builder-3.0.4'';
+      name = ''builder-3.1.3'';
       requiredGems = [  ];
-      sha256 = ''0hn41h249v82wj7d9vji2lm568jxv8pzq2czh2v0603hjv21r8x1'';
+      sha256 = ''0w6xsq9vyvzdy0xb52sajgipr9ml2bbpivk6dxm69c6987dk7him'';
     };
-    builder_3_1_3 = {
+    builder_3_1_4 = {
       basename = ''builder'';
       meta = {
         description = ''Builders for MarkUp.'';
@@ -345,11 +347,11 @@ simple to do.  Currently the following builder objects are supported:
 * XML Events
 '';
       };
-      name = ''builder-3.1.3'';
+      name = ''builder-3.1.4'';
       requiredGems = [  ];
-      sha256 = ''0w6xsq9vyvzdy0xb52sajgipr9ml2bbpivk6dxm69c6987dk7him'';
+      sha256 = ''1p0bjy1vb0zbswd6bsh5qda0f0br53p8vak8cm7hls62094r405p'';
     };
-    builder_3_2_0 = {
+    builder_3_2_2 = {
       basename = ''builder'';
       meta = {
         description = ''Builders for MarkUp.'';
@@ -361,11 +363,11 @@ simple to do.  Currently the following builder objects are supported:
 * XML Events
 '';
       };
-      name = ''builder-3.2.0'';
+      name = ''builder-3.2.2'';
       requiredGems = [  ];
-      sha256 = ''0f2cpfx6lpazb1wrz3lf06qp6f0qf0gdq5z8xnhkplc3fz3kslb0'';
+      sha256 = ''14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2'';
     };
-    buildr_1_4_11 = {
+    buildr_1_4_12 = {
       basename = ''buildr'';
       meta = {
         description = ''Build like you code'';
@@ -377,20 +379,20 @@ to do, and it takes care of the rest.  But also something we can easily extend
 for those one-off tasks, with a language that's a joy to use.
 '';
       };
-      name = ''buildr-1.4.11'';
-      requiredGems = [ g.rake_0_9_2_2 g.builder_3_1_3 g.net_ssh_2_6_0 g.net_sftp_2_0_5 g.rubyzip_0_9_9 g.highline_1_6_2 g.json_pure_1_7_5 g.rubyforge_2_0_4 g.hoe_3_1_0 g.rjb_1_4_2 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_1_3 g.rspec_expectations_2_11_3 g.rspec_mocks_2_11_3 g.rspec_core_2_11_1 g.rspec_2_11_0 g.xml_simple_1_1_1 g.minitar_0_5_3 g.bundler_1_3_4 ];
-      sha256 = ''0bdrwl9jvxc5h2wqsyacr688hxvzcqan1bhqyryb5bg9a5gpscb4'';
+      name = ''buildr-1.4.12'';
+      requiredGems = [ g.rake_0_9_2_2 g.builder_3_1_3 g.net_ssh_2_6_0 g.net_sftp_2_0_5 g.rubyzip_0_9_9 g.highline_1_6_2 g.json_pure_1_7_5 g.rubyforge_2_0_4 g.hoe_3_1_0 g.rjb_1_4_2 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_1_3 g.rspec_expectations_2_11_3 g.rspec_mocks_2_11_3 g.rspec_core_2_11_1 g.rspec_2_11_0 g.xml_simple_1_1_1 g.minitar_0_5_3 g.bundler_1_3_5 ];
+      sha256 = ''0hsy9bkfp1pq5f3jx8i6fsk0r309nmq778ykk6w103rkrdb3l6s6'';
     };
-    bundler_1_3_4 = {
+    bundler_1_3_5 = {
       basename = ''bundler'';
       meta = {
         description = ''The best way to manage your application's dependencies'';
         homepage = ''http://gembundler.com'';
         longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
       };
-      name = ''bundler-1.3.4'';
+      name = ''bundler-1.3.5'';
       requiredGems = [  ];
-      sha256 = ''1vgrc71nhnqlrg08zvs63afa1z9kzn2vvn95b14dvy14k2br3qhj'';
+      sha256 = ''1r7zx8qfwzr3pbgrjbsml7z5qgscwyyv33x2jzhz6adqyx3r1f08'';
     };
     childprocess_0_3_9 = {
       basename = ''childprocess'';
@@ -400,7 +402,7 @@ for those one-off tasks, with a language that's a joy to use.
         longDescription = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
       };
       name = ''childprocess-0.3.9'';
-      requiredGems = [ g.ffi_1_6_0 ];
+      requiredGems = [ g.ffi_1_9_0 ];
       sha256 = ''0jbz2ix7ff9ry8717lhcq9w8j8yd45akw48giwgdqccay5mlph7d'';
     };
     chronic_0_9_1 = {
@@ -461,6 +463,32 @@ is the MIT license.'';
       requiredGems = [  ];
       sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0'';
     };
+    domain_name_0_5_12 = {
+      basename = ''domain_name'';
+      meta = {
+        description = ''Domain Name manipulation library for Ruby'';
+        homepage = ''https://github.com/knu/ruby-domain_name'';
+        longDescription = ''This is a Domain Name manipulation library for Ruby.
+
+It can also be used for cookie domain validation based on the Public
+Suffix List.
+'';
+      };
+      name = ''domain_name-0.5.12'';
+      requiredGems = [ g.unf_0_1_1 ];
+      sha256 = ''1i4lrlay8pfxrsdl9ifz7dqvs6p23gf5j87rg16zdvhbkd1d0qx0'';
+    };
+    dotenv_0_8_0 = {
+      basename = ''dotenv'';
+      meta = {
+        description = ''Loads environment variables from `.env`.'';
+        homepage = ''https://github.com/bkeepers/dotenv'';
+        longDescription = ''Loads environment variables from `.env`.'';
+      };
+      name = ''dotenv-0.8.0'';
+      requiredGems = [  ];
+      sha256 = ''1l93ksw6szh77yzrsl4pzsg0ryry3j5n9k0xf8614gyl07p9rh51'';
+    };
     em_resolv_replace_1_1_3 = {
       basename = ''em_resolv_replace'';
       meta = {
@@ -525,17 +553,6 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.eventmachine_1_0_3 ];
       sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
     };
-    excon_0_25_0 = {
-      basename = ''excon'';
-      meta = {
-        description = ''speed, persistence, http(s)'';
-        homepage = ''https://github.com/geemus/excon'';
-        longDescription = ''EXtended http(s) CONnections'';
-      };
-      name = ''excon-0.25.0'';
-      requiredGems = [  ];
-      sha256 = ''0wv5bc7d138xw2v608ywl9cwhq7d7gl1l2hzdh96ia2a06hf4rry'';
-    };
     execjs_1_4_0 = {
       basename = ''execjs'';
       meta = {
@@ -544,7 +561,7 @@ using TCP/IP, especially if custom protocols are required.'';
         longDescription = ''ExecJS lets you run JavaScript code from Ruby.'';
       };
       name = ''execjs-1.4.0'';
-      requiredGems = [ g.multi_json_1_7_2 ];
+      requiredGems = [ g.multi_json_1_7_7 ];
       sha256 = ''0b69ci2afbcdqsri3i89a7s7j7palxsxdb65x6h2wx79kzlc5xcs'';
     };
     fakes3_0_1_5 = {
@@ -554,7 +571,7 @@ using TCP/IP, especially if custom protocols are required.'';
         longDescription = ''Use FakeS3 to test basic S3 functionality without actually connecting to S3'';
       };
       name = ''fakes3-0.1.5'';
-      requiredGems = [ g.thor_0_18_0 g.builder_3_2_0 ];
+      requiredGems = [ g.thor_0_18_1 g.builder_3_2_2 ];
       sha256 = ''1na5wrbarla6s414svqmr5spbpv6vmcgpswal444x4clcpmadhib'';
     };
     faraday_0_8_7 = {
@@ -578,16 +595,16 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.faraday_0_8_7 ];
       sha256 = ''1n0g8pm7ynx6ffyqhscc1cqw97zhvd8isr31yfyj15335j1jsncz'';
     };
-    ffi_1_6_0 = {
+    ffi_1_9_0 = {
       basename = ''ffi'';
       meta = {
         description = ''Ruby FFI'';
         homepage = ''http://wiki.github.com/ffi/ffi'';
         longDescription = ''Ruby FFI library'';
       };
-      name = ''ffi-1.6.0'';
+      name = ''ffi-1.9.0'';
       requiredGems = [  ];
-      sha256 = ''0jhjzj8gb6cakv32a6czgrx8krb0hx8mmkwh5yv2lhdcv3ak013v'';
+      sha256 = ''0rnh9yyfzcpdmi8m7giyd21lgqj00afgxvgbx41hsi2ls1ghfwvy'';
     };
     file_tail_1_0_12 = {
       basename = ''file_tail'';
@@ -597,19 +614,19 @@ using TCP/IP, especially if custom protocols are required.'';
         longDescription = ''Library to tail files in Ruby'';
       };
       name = ''file-tail-1.0.12'';
-      requiredGems = [ g.tins_0_7_2 ];
+      requiredGems = [ g.tins_0_8_3 ];
       sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j'';
     };
-    foreman_0_62_0 = {
+    foreman_0_63_0 = {
       basename = ''foreman'';
       meta = {
         description = ''Process manager for applications with multiple components'';
         homepage = ''http://github.com/ddollar/foreman'';
         longDescription = ''Process manager for applications with multiple components'';
       };
-      name = ''foreman-0.62.0'';
-      requiredGems = [ g.thor_0_18_0 ];
-      sha256 = ''08i34rgs3bydk52zwpps4p0y2fvcnibp9lvfdhr75ppin7wv7lmr'';
+      name = ''foreman-0.63.0'';
+      requiredGems = [ g.thor_0_18_1 g.dotenv_0_8_0 ];
+      sha256 = ''0yqyjix9jm4iwyc4f3wc32vxr28rpjcw1c9ni5brs4s2a24inzlk'';
     };
     gettext_2_3_9 = {
       basename = ''gettext'';
@@ -625,29 +642,7 @@ So you can use GNU gettext tools for maintaining.
       requiredGems = [ g.locale_2_0_8 g.text_1_2_1 ];
       sha256 = ''1i4kzkan7mnyr1ihphx0sqs3k4qj9i1ldg4a1cwf5h2fz657wvjj'';
     };
-    heroku_2_39_4 = {
-      basename = ''heroku'';
-      meta = {
-        description = ''Client library and CLI to deploy apps on Heroku.'';
-        homepage = ''http://heroku.com/'';
-        longDescription = ''Client library and command-line tool to deploy and manage apps on Heroku.'';
-      };
-      name = ''heroku-2.39.4'';
-      requiredGems = [ g.heroku_api_0_3_13 g.netrc_0_7_7 g.rest_client_1_6_7 g.launchy_2_3_0 g.rubyzip_0_9_9 g.rb_readline_0_5_0 ];
-      sha256 = ''1dhj529kqk6q66406f7iwlxwsifndlzcm0513i0hzlhc4lbkbf4x'';
-    };
-    heroku_api_0_3_13 = {
-      basename = ''heroku_api'';
-      meta = {
-        description = ''Ruby Client for the Heroku API'';
-        homepage = ''http://github.com/heroku/heroku.rb'';
-        longDescription = ''Ruby Client for the Heroku API'';
-      };
-      name = ''heroku-api-0.3.13'';
-      requiredGems = [ g.excon_0_25_0 ];
-      sha256 = ''179asf4rxjyg59zh5s7lcrnj7rrz9ymz1km24hdydgyay7px0yvi'';
-    };
-    highline_1_6_16 = {
+    highline_1_6_19 = {
       basename = ''highline'';
       meta = {
         description = ''HighLine is a high-level command-line IO library.'';
@@ -658,9 +653,9 @@ crank out anything from simple list selection to complete shells with just
 minutes of work.
 '';
       };
-      name = ''highline-1.6.16'';
+      name = ''highline-1.6.19'';
       requiredGems = [  ];
-      sha256 = ''1v9dps96hryg7c8hqw41vbm1q02d7wpq7fj1c3bkzsd5518idgzi'';
+      sha256 = ''0gylnz2cdaswgszgl8x2qx0c87md4246r1i0blgm3nqvgd4hlsxd'';
     };
     highline_1_6_2 = {
       basename = ''highline'';
@@ -677,16 +672,16 @@ minutes of work.
       requiredGems = [  ];
       sha256 = ''0azmahb70f1nlg6lq5wljbzcijhfb9lz8skwb4k2977kdml07mcn'';
     };
-    hike_1_2_1 = {
+    hike_1_2_3 = {
       basename = ''hike'';
       meta = {
         description = ''Find files in a set of paths'';
         homepage = ''http://github.com/sstephenson/hike'';
         longDescription = ''A Ruby library for finding files in a set of paths.'';
       };
-      name = ''hike-1.2.1'';
+      name = ''hike-1.2.3'';
       requiredGems = [  ];
-      sha256 = ''1c78gja9i9nj76gdj65czhvwam6550l0w9ilnn8vysj9cwv0rg7b'';
+      sha256 = ''0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm'';
     };
     hoe_3_1_0 = {
       basename = ''hoe'';
@@ -708,16 +703,16 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.rake_0_9_6 ];
       sha256 = ''0i961x0hrd6fs1nsfham87dhn64gqpnai27l14jag7qbnp3a79yp'';
     };
-    i18n_0_6_1 = {
-      basename = ''i18n'';
+    http_cookie_1_0_1 = {
+      basename = ''http_cookie'';
       meta = {
-        description = ''New wave Internationalization support for Ruby'';
-        homepage = ''http://github.com/svenfuchs/i18n'';
-        longDescription = ''New wave Internationalization support for Ruby.'';
+        description = ''A Ruby library to handle HTTP Cookies based on RFC 6265'';
+        homepage = ''https://github.com/sparklemotion/http-cookie'';
+        longDescription = ''HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265.  It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers.  It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.'';
       };
-      name = ''i18n-0.6.1'';
-      requiredGems = [  ];
-      sha256 = ''0x3lhp1vl1k4dfqx6k93hhxcpjkz57y8cf007ws7p845ywk6ibfl'';
+      name = ''http-cookie-1.0.1'';
+      requiredGems = [ g.domain_name_0_5_12 ];
+      sha256 = ''0gzghirmim217g7gf1rq3xiav8gfg32r38mcz0w9vznk30psy7d9'';
     };
     i18n_0_6_4 = {
       basename = ''i18n'';
@@ -741,17 +736,6 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''1nhjn07h2fqivdj6xqzi2x2kzh28vigx8z3q5fv2cqn9aqmbdacl'';
     };
-    journey_1_0_4 = {
-      basename = ''journey'';
-      meta = {
-        description = ''Journey is a router'';
-        homepage = ''http://github.com/rails/journey'';
-        longDescription = ''Journey is a router.  It routes requests.'';
-      };
-      name = ''journey-1.0.4'';
-      requiredGems = [  ];
-      sha256 = ''03y1xidg1rx1yjz8xb50083vfwcsfkgs4zmizc040y1h4mhvhm3l'';
-    };
     jruby_pageant_1_1_1 = {
       basename = ''jruby_pageant'';
       meta = {
@@ -763,27 +747,27 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''1kgqsn0bagr41gf5kbqaxbs38a7s5bm85m0pdx4qz7d70v9nc9cl'';
     };
-    jsduck_4_7_1 = {
+    jsduck_4_10_4 = {
       basename = ''jsduck'';
       meta = {
         description = ''Simple JavaScript Duckumentation generator'';
         homepage = ''https://github.com/senchalabs/jsduck'';
         longDescription = ''Documentation generator for Sencha JS frameworks'';
       };
-      name = ''jsduck-4.7.1'';
-      requiredGems = [ g.rdiscount_2_0_7_1 g.json_1_7_7 g.parallel_0_6_3 g.execjs_1_4_0 g.therubyracer_0_10_2 g.dimensions_1_2_0 ];
-      sha256 = ''0yn568ix4j4xpyrsk07cp5c3migsl7ymlg07fsyn5a65yrwyaiyv'';
+      name = ''jsduck-4.10.4'';
+      requiredGems = [ g.rdiscount_2_1_6 g.json_1_8_0 g.parallel_0_7_1 g.execjs_1_4_0 g.therubyracer_0_11_4 g.dimensions_1_2_0 ];
+      sha256 = ''1xnad96wmszz0m66wrwciihba6whpg8bglwkbazrifxh9kcw7wih'';
     };
-    json_1_7_7 = {
+    json_1_8_0 = {
       basename = ''json'';
       meta = {
         description = ''JSON Implementation for Ruby'';
         homepage = ''http://flori.github.com/json'';
         longDescription = ''This is a JSON implementation as a Ruby extension in C.'';
       };
-      name = ''json-1.7.7'';
+      name = ''json-1.8.0'';
       requiredGems = [  ];
-      sha256 = ''1v5pn3g9ignbgrfl72dbf7bzvxsm90ybp24fa3bm9cv5cpa2ww7x'';
+      sha256 = ''0a8prb853nwz9xqjhcd4rm9a5ng8arcn06hlacf0kcizzz69rr47'';
     };
     json_pure_1_7_5 = {
       basename = ''json_pure'';
@@ -796,38 +780,27 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''14nwwf001mh70qnynpb3h8c0kgcfi666yrg2frib4p6lr57jx8ap'';
     };
-    json_pure_1_7_7 = {
+    json_pure_1_8_0 = {
       basename = ''json_pure'';
       meta = {
         description = ''JSON Implementation for Ruby'';
         homepage = ''http://flori.github.com/json'';
         longDescription = ''This is a JSON implementation in pure Ruby.'';
       };
-      name = ''json_pure-1.7.7'';
+      name = ''json_pure-1.8.0'';
       requiredGems = [  ];
-      sha256 = ''0jxp0amx9xhka0ixnhvfgwc5ydr82hkxp81pvw32z31arx7jrwl6'';
-    };
-    launchy_2_3_0 = {
-      basename = ''launchy'';
-      meta = {
-        description = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner.'';
-        homepage = ''http://github.com/copiousfreetime/launchy'';
-        longDescription = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.'';
-      };
-      name = ''launchy-2.3.0'';
-      requiredGems = [ g.addressable_2_3_5 ];
-      sha256 = ''0ckvs40f29ancs0ki12pqb94k380cz41b4gbjplm85ly6kd57sph'';
+      sha256 = ''0kkn5zhiffav2cffj43wwvzj07825r4j463ilfjgik034vnbjs83'';
     };
-    libv8_3_3_10_4 = {
+    libv8_3_11_8_17_x86_64_linux = {
       basename = ''libv8'';
       meta = {
         description = ''Distribution of the V8 JavaScript engine'';
-        homepage = ''http://github.com/fractaloop/libv8'';
+        homepage = ''http://github.com/cowboyd/libv8'';
         longDescription = ''Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds of The Ruby Racer'';
       };
-      name = ''libv8-3.3.10.4'';
+      name = ''libv8-3.11.8.17-x86_64-linux'';
       requiredGems = [  ];
-      sha256 = ''0zy585rs1ihm8nsw525wgmbkcq7aqy1k9dbkk8s6953adl0bpz42'';
+      sha256 = ''1s2j79rm2idny701l6rsnig6451w2wfipgmfvxf05d1syn14cmg9'';
     };
     locale_2_0_8 = {
       basename = ''locale'';
@@ -863,48 +836,31 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.systemu_2_5_2 ];
       sha256 = ''1vd9l1d0lc0sq3rn1ya816wrzgxxqdzq6pgq0y0435qm6ikwy7ch'';
     };
-    mail_2_5_3 = {
+    mail_2_5_4 = {
       basename = ''mail'';
       meta = {
         description = ''Mail provides a nice Ruby DSL for making, sending and reading emails.'';
         homepage = ''http://github.com/mikel/mail'';
         longDescription = ''A really Ruby Mail handler.'';
       };
-      name = ''mail-2.5.3'';
-      requiredGems = [ g.mime_types_1_21 g.treetop_1_4_12 g.i18n_0_6_4 ];
-      sha256 = ''1afr3acz7vsvr4gp6wnrkw1iwbjhf14mh8g8mlm40r86wcwzr39k'';
+      name = ''mail-2.5.4'';
+      requiredGems = [ g.mime_types_1_23 g.treetop_1_4_14 ];
+      sha256 = ''0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4'';
     };
-    mime_types_1_21 = {
-      basename = ''mime_types'';
+    mechanize_2_7_1 = {
+      basename = ''mechanize'';
       meta = {
-        description = ''This library allows for the identification of a file's likely MIME content type'';
-        homepage = ''http://mime-types.rubyforge.org/'';
-        longDescription = ''This library allows for the identification of a file's likely MIME content
-type. This is release 1.21 with new MIME types. The identification of MIME
-content type is based on a file's filename extensions.
-
-MIME types are used in MIME-compliant communications, as in e-mail or
-HTTP traffic, to indicate the type of content which is transmitted.
-MIME::Types provides the ability for detailed information about MIME
-entities (provided as a set of MIME::Type objects) to be determined and
-used programmatically. There are many types defined by RFCs and vendors,
-so the list is long but not complete; don't hesitate to ask to add
-additional information. This library follows the IANA collection of MIME
-types (see below for reference).
-
-MIME::Types for Ruby was originally based on and synchronized with MIME::Types
-for Perl by Mark Overmeer, copyright 2001 - 2009. As of version 1.15, the data
-format for the MIME::Type list has changed and the synchronization will no
-longer happen.
-
-MIME::Types is built to conform to the MIME types of RFCs 2045 and 2231. It
-follows the official {IANA registry}[http://www.iana.org/assignments/media-types/]
-({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types
-added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp].'';
+        description = ''The Mechanize library is used for automating interaction with websites'';
+        homepage = ''http://mechanize.rubyforge.org'';
+        longDescription = ''The Mechanize library is used for automating interaction with websites.
+Mechanize automatically stores and sends cookies, follows redirects,
+and can follow links and submit forms.  Form fields can be populated and
+submitted.  Mechanize also keeps track of the sites that you have visited as
+a history.'';
       };
-      name = ''mime-types-1.21'';
-      requiredGems = [  ];
-      sha256 = ''1qmx53a2kqk0nnhjbfvbc213wsxiprl0wqm7f2xvcsh253ld91iw'';
+      name = ''mechanize-2.7.1'';
+      requiredGems = [ g.net_http_digest_auth_1_3 g.net_http_persistent_2_8 g.mime_types_1_23 g.http_cookie_1_0_1 g.nokogiri_1_6_0 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_12 ];
+      sha256 = ''0abcrabsjamp4fjbizp4dv8nkz7jv03r9n0lpn9yypb48ij876vh'';
     };
     mime_types_1_23 = {
       basename = ''mime_types'';
@@ -938,6 +894,17 @@ added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp
       requiredGems = [  ];
       sha256 = ''1ch5ngx67nhbq6j1y79c88gzk6i8pzqi860iwfpxp9c0bwf6fags'';
     };
+    mini_portile_0_5_1 = {
+      basename = ''mini_portile'';
+      meta = {
+        description = ''Simplistic port-like solution for developers'';
+        homepage = ''http://github.com/luislavena/mini_portile'';
+        longDescription = ''Simplistic port-like solution for developers. It provides a standard and simplified way to compile against dependency libraries without messing up your system.'';
+      };
+      name = ''mini_portile-0.5.1'';
+      requiredGems = [  ];
+      sha256 = ''0cafnlhdzakzl5vqcm9b97kchj9bvhlcf4ylkyr85lz1263hbagg'';
+    };
     minitar_0_5_3 = {
       basename = ''minitar'';
       meta = {
@@ -949,16 +916,79 @@ added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp
       requiredGems = [  ];
       sha256 = ''035vs1knnnjsb8arfp8vx75warvwcdpiljjwv38lqljai9v8fq53'';
     };
-    multi_json_1_7_2 = {
+    minitest_4_7_5 = {
+      basename = ''minitest'';
+      meta = {
+        description = ''minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking'';
+        homepage = ''https://github.com/seattlerb/minitest'';
+        longDescription = ''minitest provides a complete suite of testing facilities supporting
+TDD, BDD, mocking, and benchmarking.
+
+    "I had a class with Jim Weirich on testing last week and we were
+     allowed to choose our testing frameworks. Kirk Haines and I were
+     paired up and we cracked open the code for a few test
+     frameworks...
+
+     I MUST say that minitest is *very* readable / understandable
+     compared to the 'other two' options we looked at. Nicely done and
+     thank you for helping us keep our mental sanity."
+
+    -- Wayne E. Seguin
+
+minitest/unit is a small and incredibly fast unit testing framework.
+It provides a rich set of assertions to make your tests clean and
+readable.
+
+minitest/spec is a functionally complete spec engine. It hooks onto
+minitest/unit and seamlessly bridges test assertions over to spec
+expectations.
+
+minitest/benchmark is an awesome way to assert the performance of your
+algorithms in a repeatable manner. Now you can assert that your newb
+co-worker doesn't replace your linear algorithm with an exponential
+one!
+
+minitest/mock by Steven Baker, is a beautifully tiny mock (and stub)
+object framework.
+
+minitest/pride shows pride in testing and adds coloring to your test
+output. I guess it is an example of how to write IO pipes too. :P
+
+minitest/unit is meant to have a clean implementation for language
+implementors that need a minimal set of methods to bootstrap a working
+test suite. For example, there is no magic involved for test-case
+discovery.
+
+    "Again, I can't praise enough the idea of a testing/specing
+     framework that I can actually read in full in one sitting!"
+
+    -- Piotr Szotkowski
+
+Comparing to rspec:
+
+    rspec is a testing DSL. minitest is ruby.
+
+    -- Adam Hawkins, "Bow Before MiniTest"
+
+minitest doesn't reinvent anything that ruby already provides, like:
+classes, modules, inheritance, methods. This means you only have to
+learn ruby to use minitest and all of your regular OO practices like
+extract-method refactorings still apply.'';
+      };
+      name = ''minitest-4.7.5'';
+      requiredGems = [  ];
+      sha256 = ''03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy'';
+    };
+    multi_json_1_7_7 = {
       basename = ''multi_json'';
       meta = {
-        description = ''A gem to provide swappable JSON backends.'';
+        description = ''A common interface to multiple JSON libraries.'';
         homepage = ''http://github.com/intridea/multi_json'';
-        longDescription = ''A gem to provide easy switching between different JSON backends, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, and OkJson.'';
+        longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.'';
       };
-      name = ''multi_json-1.7.2'';
+      name = ''multi_json-1.7.7'';
       requiredGems = [  ];
-      sha256 = ''17mfs58bilkn2b9g3ggh6pz1w4c2a72mqsr6zf0qd8vahw5h158q'';
+      sha256 = ''1w3fpi52h4a7r0a670xzrwa40l5irh69r45cbvxw24bsp19sfxzr'';
     };
     multipart_post_1_2_0 = {
       basename = ''multipart_post'';
@@ -971,6 +1001,43 @@ added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp
       requiredGems = [  ];
       sha256 = ''12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc'';
     };
+    net_http_digest_auth_1_3 = {
+      basename = ''net_http_digest_auth'';
+      meta = {
+        description = ''An implementation of RFC 2617 - Digest Access Authentication'';
+        homepage = ''http://github.com/drbrain/net-http-digest_auth'';
+        longDescription = ''An implementation of RFC 2617 - Digest Access Authentication.  At this time
+the gem does not drop in to Net::HTTP and can be used for with other HTTP
+clients.
+
+In order to use net-http-digest_auth you'll need to perform some request
+wrangling on your own.  See the class documentation at Net::HTTP::DigestAuth
+for an example.'';
+      };
+      name = ''net-http-digest_auth-1.3'';
+      requiredGems = [  ];
+      sha256 = ''11hn4fb02rx799ck1gghmz7b32977zbi9sz2jpfyz43igwz2dvzy'';
+    };
+    net_http_persistent_2_8 = {
+      basename = ''net_http_persistent'';
+      meta = {
+        description = ''Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8'';
+        homepage = ''http://docs.seattlerb.org/net-http-persistent'';
+        longDescription = ''Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8.
+It's thread-safe too!
+
+Using persistent HTTP connections can dramatically increase the speed of HTTP.
+Creating a new HTTP connection for every request involves an extra TCP
+round-trip and causes TCP congestion avoidance negotiation to start over.
+
+Net::HTTP supports persistent connections with some API methods but does not
+handle reconnection gracefully.  Net::HTTP::Persistent supports reconnection
+and retry according to RFC 2616.'';
+      };
+      name = ''net-http-persistent-2.8'';
+      requiredGems = [  ];
+      sha256 = ''1y50ssi8lcxfady4wwy242sgsr1424g5rg3wpav6kqc9rba74v9l'';
+    };
     net_sftp_2_0_5 = {
       basename = ''net_sftp'';
       meta = {
@@ -979,7 +1046,7 @@ added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp
         longDescription = ''A pure Ruby implementation of the SFTP client protocol'';
       };
       name = ''net-sftp-2.0.5'';
-      requiredGems = [ g.net_ssh_2_6_6 ];
+      requiredGems = [ g.net_ssh_2_6_8 ];
       sha256 = ''0lqk735wspm8rbiyxpbil8ikrqcyg00ss1df7fny0761c3as6m0v'';
     };
     net_ssh_2_6_0 = {
@@ -993,27 +1060,16 @@ added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp
       requiredGems = [ g.jruby_pageant_1_1_1 ];
       sha256 = ''18fsgps4a9dfrjszkl3py8j7vw0xwi70bcp59ccj2rlr6i1jv5gw'';
     };
-    net_ssh_2_6_6 = {
+    net_ssh_2_6_8 = {
       basename = ''net_ssh'';
       meta = {
         description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
         homepage = ''https://github.com/net-ssh/net-ssh'';
         longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.'';
       };
-      name = ''net-ssh-2.6.6'';
-      requiredGems = [  ];
-      sha256 = ''00fdnwv3jf311jjcc51lq8w26r62vzma91i79h5hj8i1ylrilx51'';
-    };
-    netrc_0_7_7 = {
-      basename = ''netrc'';
-      meta = {
-        description = ''Library to read and write netrc files.'';
-        homepage = ''https://github.com/geemus/netrc'';
-        longDescription = ''This library can read and update netrc files, preserving formatting including comments and whitespace.'';
-      };
-      name = ''netrc-0.7.7'';
+      name = ''net-ssh-2.6.8'';
       requiredGems = [  ];
-      sha256 = ''1y64v93hsxdwgx3dfkyzdki3zqd1slm42dmi23v0zy3kap4vpard'';
+      sha256 = ''0vf9w8b9f5ha94nwhvwxyqk4lfpy42ihl1g0qib8dfvswlkqw3mx'';
     };
     nix_0_1_1 = {
       basename = ''nix'';
@@ -1026,7 +1082,7 @@ added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp
       requiredGems = [  ];
       sha256 = ''0kwrbkkg0gxibhsz9dpd5zabcf2wqsicg28yiazyb3dc9dslk26k'';
     };
-    nokogiri_1_5_9 = {
+    nokogiri_1_5_10 = {
       basename = ''nokogiri'';
       meta = {
         description = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser'';
@@ -1037,9 +1093,35 @@ many features is the ability to search documents via XPath or CSS3 selectors.
 XML is like violence - if it doesn’t solve your problems, you are not using
 enough of it.'';
       };
-      name = ''nokogiri-1.5.9'';
+      name = ''nokogiri-1.5.10'';
       requiredGems = [  ];
-      sha256 = ''08qx4p3p6dd1yh58c4waz5rjmkzv3v315fr0l6n0dgkg71dczbi9'';
+      sha256 = ''0dblphzwzl705xmlqcflz8s60xzbcgi4xqzx7984l4kcssbkn71b'';
+    };
+    nokogiri_1_6_0 = {
+      basename = ''nokogiri'';
+      meta = {
+        description = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser'';
+        homepage = ''http://nokogiri.org'';
+        longDescription = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser.  Among Nokogiri's
+many features is the ability to search documents via XPath or CSS3 selectors.
+
+XML is like violence - if it doesn’t solve your problems, you are not using
+enough of it.'';
+      };
+      name = ''nokogiri-1.6.0'';
+      requiredGems = [ g.mini_portile_0_5_1 ];
+      sha256 = ''1icrny9w2hd0pm7cyq5wqdkbzr57dkma1lbyrr0x14lsnangkidb'';
+    };
+    ntlm_http_0_1_1 = {
+      basename = ''ntlm_http'';
+      meta = {
+        description = ''Ruby/NTLM HTTP library.'';
+        homepage = ''http://www.mindflowsolutions.net'';
+        longDescription = ''Ruby/NTLM HTTP provides NTLM authentication over http.'';
+      };
+      name = ''ntlm-http-0.1.1'';
+      requiredGems = [  ];
+      sha256 = ''0yx01ffrw87wya1syivqzf8hz02axk7jdpw6aw221xwvib767d36'';
     };
     papertrail_0_9_7 = {
       basename = ''papertrail'';
@@ -1049,7 +1131,7 @@ enough of it.'';
         longDescription = ''Command-line client for Papertrail hosted log management service. Tails and searches app server logs and system syslog. Supports Boolean search and works with grep and pipe output (Unix).'';
       };
       name = ''papertrail-0.9.7'';
-      requiredGems = [ g.addressable_2_3_3 g.yajl_ruby_1_1_0 g.chronic_0_9_1 g.faraday_0_8_7 g.faraday_middleware_0_8_8 ];
+      requiredGems = [ g.addressable_2_3_5 g.yajl_ruby_1_1_0 g.chronic_0_9_1 g.faraday_0_8_7 g.faraday_middleware_0_8_8 ];
       sha256 = ''0v0m1v0qabbr9pmyl77znz39qy1m7p0xwvf3lf9hyq6n524f2dwr'';
     };
     papertrail_cli_0_9_3 = {
@@ -1063,15 +1145,15 @@ enough of it.'';
       requiredGems = [ g.papertrail_0_9_7 ];
       sha256 = ''1914dcfqsmw5rl4xd1zwjrfbgwglyncxm8km06bgxaqn4wnaq5iv'';
     };
-    parallel_0_6_3 = {
+    parallel_0_7_1 = {
       basename = ''parallel'';
       meta = {
         description = ''Run any kind of code in parallel processes'';
         homepage = ''https://github.com/grosser/parallel'';
       };
-      name = ''parallel-0.6.3'';
+      name = ''parallel-0.7.1'';
       requiredGems = [  ];
-      sha256 = ''17mg4vfx1c4z7399azf982a3cn522m43kavdqfhfs6i89m7z0l9n'';
+      sha256 = ''1kzz6ydg7r23ks2b7zbpx4vz3h186n19vhgnjcwi7xwd6h2f1fsq'';
     };
     polyglot_0_3_3 = {
       basename = ''polyglot'';
@@ -1087,24 +1169,6 @@ augments 'require' to find and load matching files.'';
       requiredGems = [  ];
       sha256 = ''082zmail2h3cxd9z1wnibhk6aj4sb1f3zzwra6kg9bp51kx2c00v'';
     };
-    rack_1_4_5 = {
-      basename = ''rack'';
-      meta = {
-        description = ''a modular Ruby webserver interface'';
-        homepage = ''http://rack.github.com/'';
-        longDescription = ''Rack provides a minimal, modular and adaptable interface for developing
-web applications in Ruby.  By wrapping HTTP requests and responses in
-the simplest way possible, it unifies and distills the API for web
-servers, web frameworks, and software in between (the so-called
-middleware) into a single method call.
-
-Also see http://rack.github.com/.
-'';
-      };
-      name = ''rack-1.4.5'';
-      requiredGems = [  ];
-      sha256 = ''027k0nbb8d7cl24x2cywdc6lgrr4lwvdwwjk8wkgz8h9ism3zgzp'';
-    };
     rack_1_5_2 = {
       basename = ''rack'';
       meta = {
@@ -1123,17 +1187,6 @@ Also see http://rack.github.com/.
       requiredGems = [  ];
       sha256 = ''19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6'';
     };
-    rack_cache_1_2 = {
-      basename = ''rack_cache'';
-      meta = {
-        description = ''HTTP Caching for Rack'';
-        homepage = ''http://tomayko.com/src/rack-cache/'';
-        longDescription = ''Rack::Cache is suitable as a quick drop-in component to enable HTTP caching for Rack-based applications that produce freshness (Expires, Cache-Control) and/or validation (Last-Modified, ETag) information.'';
-      };
-      name = ''rack-cache-1.2'';
-      requiredGems = [ g.rack_1_5_2 ];
-      sha256 = ''073ffpsqmy4nqxz178qisb3a4v3305c49ypj0jw6s9mkz02yvgq2'';
-    };
     rack_protection_1_5_0 = {
       basename = ''rack_protection'';
       meta = {
@@ -1145,18 +1198,6 @@ Also see http://rack.github.com/.
       requiredGems = [ g.rack_1_5_2 ];
       sha256 = ''10wm67f2mp9pryg0s8qapbyxd2lcrpb8ywsbicg29cv2xprhbl4j'';
     };
-    rack_ssl_1_3_3 = {
-      basename = ''rack_ssl'';
-      meta = {
-        description = ''Force SSL/TLS in your app.'';
-        homepage = ''https://github.com/josh/rack-ssl'';
-        longDescription = ''    Rack middleware to force SSL/TLS.
-'';
-      };
-      name = ''rack-ssl-1.3.3'';
-      requiredGems = [ g.rack_1_5_2 ];
-      sha256 = ''0rkmj71s87prswa8sqal42kdllgpfd35ir5m9ahhnlmrrpqd0hr5'';
-    };
     rack_test_0_6_2 = {
       basename = ''rack_test'';
       meta = {
@@ -1171,27 +1212,27 @@ request helpers feature.'';
       requiredGems = [ g.rack_1_5_2 ];
       sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky'';
     };
-    rails_3_2_13 = {
+    rails_4_0_0 = {
       basename = ''rails'';
       meta = {
         description = ''Full-stack web application framework.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
       };
-      name = ''rails-3.2.13'';
-      requiredGems = [ g.activesupport_3_2_13 g.actionpack_3_2_13 g.activerecord_3_2_13 g.activeresource_3_2_13 g.actionmailer_3_2_13 g.railties_3_2_13 g.bundler_1_3_4 ];
-      sha256 = ''1f5w4ivy0jxpjf1gkav064i0gd5x9xqnznwrkbc3slc9savprifz'';
+      name = ''rails-4.0.0'';
+      requiredGems = [ g.activesupport_4_0_0 g.actionpack_4_0_0 g.activerecord_4_0_0 g.actionmailer_4_0_0 g.railties_4_0_0 g.bundler_1_3_5 g.sprockets_rails_2_0_0 ];
+      sha256 = ''12q2z2zpqpr61rqdx8can2ay6y1xxi6ghmlkyvfvxnnwwzxypavf'';
     };
-    railties_3_2_13 = {
+    railties_4_0_0 = {
       basename = ''railties'';
       meta = {
         description = ''Tools for creating, working with, and running Rails applications.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
       };
-      name = ''railties-3.2.13'';
-      requiredGems = [ g.rake_10_0_4 g.rack_ssl_1_3_3 g.thor_0_18_0 g.rdoc_3_12_2 g.activesupport_3_2_13 g.actionpack_3_2_13 ];
-      sha256 = ''01wbqfnlrs9nbs0b97dbxh7aap2bma7my530pcggxdf8ckms8kr9'';
+      name = ''railties-4.0.0'';
+      requiredGems = [ g.activesupport_4_0_0 g.actionpack_4_0_0 g.rake_10_1_0 g.thor_0_18_1 ];
+      sha256 = ''063yyp75b87z0nr1mayzyq462nnhfm834mn97fcyg2mf3zr8qbly'';
     };
     rake_0_9_2_2 = {
       basename = ''rake'';
@@ -1215,16 +1256,16 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''09kyh351gddn6gjz255hbaza1cw235xvfz9dc15rhyq9phvqdphc'';
     };
-    rake_10_0_4 = {
+    rake_10_1_0 = {
       basename = ''rake'';
       meta = {
         description = ''Ruby based make-like utility.'';
         homepage = ''http://rake.rubyforge.org'';
         longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard Ruby syntax.'';
       };
-      name = ''rake-10.0.4'';
+      name = ''rake-10.1.0'';
       requiredGems = [  ];
-      sha256 = ''032z0csyi5bjfgzq3winvqvi9fpf3bfx518hzzapkfy90y702ds1'';
+      sha256 = ''1frsqpihi39x3yqaa7m9vbls1kd24wckbj5cpiwqix8xmcwnic7q'';
     };
     rb_fsevent_0_9_3 = {
       basename = ''rb_fsevent'';
@@ -1237,65 +1278,39 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''0bdnxwdxj4r1kdxfi5nszbsb126njrr81p912g64xxs2bgxd1bp1'';
     };
-    rb_readline_0_5_0 = {
-      basename = ''rb_readline'';
-      meta = {
-        description = ''Pure-Ruby Readline Implementation'';
-        homepage = ''http://github.com/luislavena/rb-readline'';
-        longDescription = ''The readline library provides a pure Ruby implementation of the GNU readline C library, as well as the Readline extension that ships as part of the standard library.'';
-      };
-      name = ''rb-readline-0.5.0'';
-      requiredGems = [  ];
-      sha256 = ''1aixbqpwrlzvrii4c80982jih4syanc2jl0lfcbibqvjasy9h9c8'';
-    };
-    rdiscount_2_0_7_1 = {
+    rdiscount_2_1_6 = {
       basename = ''rdiscount'';
       meta = {
         description = ''Fast Implementation of Gruber's Markdown in C'';
-        homepage = ''http://github.com/rtomayko/rdiscount'';
+        homepage = ''http://dafoster.net/projects/rdiscount/'';
       };
-      name = ''rdiscount-2.0.7.1'';
+      name = ''rdiscount-2.1.6'';
       requiredGems = [  ];
-      sha256 = ''1xjwi99wfyjhn72h8k709kbq2npqmw2zvikszxfg6in83yb8vmxn'';
+      sha256 = ''180ln9gwxn0cyflg0i1viv7jyalmjqvqr34cb65xsmmsz1nz55q2'';
     };
-    rdoc_3_12_2 = {
-      basename = ''rdoc'';
+    ref_1_0_5 = {
+      basename = ''ref'';
       meta = {
-        description = ''RDoc produces HTML and command-line documentation for Ruby projects'';
-        homepage = ''http://docs.seattlerb.org/rdoc'';
-        longDescription = ''RDoc produces HTML and command-line documentation for Ruby projects.  RDoc
-includes the +rdoc+ and +ri+ tools for generating and displaying online
-documentation.
-
-See RDoc for a description of RDoc's markup and basic use.'';
+        description = ''Library that implements weak, soft, and strong references in Ruby.'';
+        homepage = ''http://github.com/bdurand/ref'';
+        longDescription = ''Library that implements weak, soft, and strong references in Ruby that work across multiple runtimes (MRI, REE, YARV, Jruby, Rubinius, and IronRuby). Also includes implementation of maps/hashes that use references and a reference queue.'';
       };
-      name = ''rdoc-3.12.2'';
-      requiredGems = [ g.json_1_7_7 ];
-      sha256 = ''1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8'';
+      name = ''ref-1.0.5'';
+      requiredGems = [  ];
+      sha256 = ''19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la'';
     };
-    remote_syslog_1_6_13 = {
+    remote_syslog_1_6_14 = {
       basename = ''remote_syslog'';
       meta = {
         description = ''Monitor plain text log file(s) for new entries and send to remote syslog collector'';
         homepage = ''http://github.com/papertrail/remote_syslog'';
         longDescription = ''Lightweight daemon to tail one or more log files and transmit UDP syslog messages to a remote syslog host (centralized log aggregation). Generates UDP packets itself instead of depending on a system syslog daemon, so it doesn't affect system-wide logging configuration.'';
       };
-      name = ''remote_syslog-1.6.13'';
+      name = ''remote_syslog-1.6.14'';
       requiredGems = [ g.servolux_0_10_0 g.file_tail_1_0_12 g.eventmachine_1_0_3 g.eventmachine_tail_0_6_4 g.syslog_protocol_0_9_2 g.em_resolv_replace_1_1_3 ];
-      sha256 = ''0q35j02k2l3fw3fdzq0i3rd6chsqr982gj13f3m3lsxm7kms03nw'';
+      sha256 = ''1f2yjyqhbdc4vlx52zli1b33f6yn8qc1kd4n0dpv27zswj9qfdkr'';
     };
-    rest_client_1_6_7 = {
-      basename = ''rest_client'';
-      meta = {
-        description = ''Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.'';
-        homepage = ''http://github.com/archiloque/rest-client'';
-        longDescription = ''A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.'';
-      };
-      name = ''rest-client-1.6.7'';
-      requiredGems = [ g.mime_types_1_23 ];
-      sha256 = ''0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853'';
-    };
-    right_aws_3_0_5 = {
+    right_aws_3_1_0 = {
       basename = ''right_aws'';
       meta = {
         description = ''The RightScale AWS gems have been designed to provide a robust, fast, and secure interface to Amazon EC2, EBS, S3, SQS, SDB, and CloudFront.'';
@@ -1339,11 +1354,11 @@ The RightScale AWS gems comprise:
 - Test suite (requires AWS account to do "live" testing).
 '';
       };
-      name = ''right_aws-3.0.5'';
-      requiredGems = [ g.right_http_connection_1_3_0 ];
-      sha256 = ''0pxdmxmqiidy3dpxsp4l0b1l6nq9b1sh4p1gkzalqm4l24646h4k'';
+      name = ''right_aws-3.1.0'';
+      requiredGems = [ g.right_http_connection_1_4_0 ];
+      sha256 = ''1a3l5vyvq078nq976rzkrd6fbj522sbgrxpdq3p9z373h0awha09'';
     };
-    right_http_connection_1_3_0 = {
+    right_http_connection_1_4_0 = {
       basename = ''right_http_connection'';
       meta = {
         description = ''RightScale's robust HTTP/S connection module'';
@@ -1358,9 +1373,9 @@ algorithm for low-level network errors.
 - HTTPS certificate checking
 '';
       };
-      name = ''right_http_connection-1.3.0'';
+      name = ''right_http_connection-1.4.0'';
       requiredGems = [  ];
-      sha256 = ''0900zy2ya57vhxdkdm2gj7xmvzj4gwm5l7ad0lh68ka3vxhdi7ap'';
+      sha256 = ''0m4phly7srnwyvfqp01lpaxrgrybhszar0p23zl8b12r6bdjl84g'';
     };
     rjb_1_4_2 = {
       basename = ''rjb'';
@@ -1374,7 +1389,7 @@ algorithm for low-level network errors.
       requiredGems = [  ];
       sha256 = ''1cgbwpc45djs0mw05ydxf5apmb9ibj61n240ylqwzrajf13banzh'';
     };
-    rjb_1_4_6 = {
+    rjb_1_4_8 = {
       basename = ''rjb'';
       meta = {
         description = ''Ruby Java bridge'';
@@ -1382,9 +1397,9 @@ algorithm for low-level network errors.
         longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
 '';
       };
-      name = ''rjb-1.4.6'';
+      name = ''rjb-1.4.8'';
       requiredGems = [  ];
-      sha256 = ''0q2czc3ghk32hnxf76xsf0jqcfrnx60aqarvdjhgsfdc9a5pmk20'';
+      sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw'';
     };
     rmail_1_0_0 = {
       basename = ''rmail'';
@@ -1456,7 +1471,7 @@ algorithm for low-level network errors.
 * For all rubyforge upgrades, run 'rubyforge config' to ensure you have latest.'';
       };
       name = ''rubyforge-2.0.4'';
-      requiredGems = [ g.json_pure_1_7_7 ];
+      requiredGems = [ g.json_pure_1_8_0 ];
       sha256 = ''1wdaa4nzy39yzy848fa1rybi72qlyf9vhi1ra9wpx9rpi810fwh1'';
     };
     rubyzip_0_9_9 = {
@@ -1469,7 +1484,7 @@ algorithm for low-level network errors.
       requiredGems = [  ];
       sha256 = ''1khf6d903agnwd8965f5f8b353rzmfvygxp53z1199rqzw8h46q2'';
     };
-    sass_3_2_7 = {
+    sass_3_2_9 = {
       basename = ''sass'';
       meta = {
         description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
@@ -1480,20 +1495,20 @@ algorithm for low-level network errors.
       command line tool or a web-framework plugin.
 '';
       };
-      name = ''sass-3.2.7'';
+      name = ''sass-3.2.9'';
       requiredGems = [  ];
-      sha256 = ''0c494gh1i4llk4lbi35vidsgclf3cgxind1a7nm499ac9sdz084s'';
+      sha256 = ''08lvbi4siavvci0g4m65576axcagw23i0iamdqv33kwdimik717q'';
     };
-    selenium_webdriver_2_31_0 = {
+    selenium_webdriver_2_33_0 = {
       basename = ''selenium_webdriver'';
       meta = {
         description = ''The next generation developer focused tool for automated testing of webapps'';
         homepage = ''http://selenium.googlecode.com'';
         longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.'';
       };
-      name = ''selenium-webdriver-2.31.0'';
-      requiredGems = [ g.multi_json_1_7_2 g.rubyzip_0_9_9 g.childprocess_0_3_9 g.websocket_1_0_7 ];
-      sha256 = ''1nv3ff31g183kdb97jjz0y7ny3vdnccd09pgblpj87bzhrrdfv3r'';
+      name = ''selenium-webdriver-2.33.0'';
+      requiredGems = [ g.multi_json_1_7_7 g.rubyzip_0_9_9 g.childprocess_0_3_9 g.websocket_1_0_7 ];
+      sha256 = ''000fpc5vaf268g96vmqq9vlg8fgyh78290agayrk9qkds8i8cr5d'';
     };
     servolux_0_10_0 = {
       basename = ''servolux'';
@@ -1517,19 +1532,29 @@ interpreters.'';
         longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.'';
       };
       name = ''sinatra-1.3.2'';
-      requiredGems = [ g.rack_1_5_2 g.rack_protection_1_5_0 g.tilt_1_3_6 ];
+      requiredGems = [ g.rack_1_5_2 g.rack_protection_1_5_0 g.tilt_1_4_1 ];
       sha256 = ''05blf915zpiwyz7agcn9rwdmddwxz0z4l3gd4qlqmrgd2vkw4sxc'';
     };
-    sprockets_2_2_2 = {
+    sprockets_2_10_0 = {
       basename = ''sprockets'';
       meta = {
         description = ''Rack-based asset packaging system'';
         homepage = ''http://getsprockets.org/'';
         longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.'';
       };
-      name = ''sprockets-2.2.2'';
-      requiredGems = [ g.hike_1_2_1 g.multi_json_1_7_2 g.rack_1_5_2 g.tilt_1_3_6 ];
-      sha256 = ''15ngw3bjbyr31ygzmmdxxa30ylah6pdn8akgdy9w30vfx2vr7s7s'';
+      name = ''sprockets-2.10.0'';
+      requiredGems = [ g.hike_1_2_3 g.multi_json_1_7_7 g.rack_1_5_2 g.tilt_1_4_1 ];
+      sha256 = ''1z0kiaymvqm07wqqy479vd8a60ggr3f3520b4splljbn2055fn3s'';
+    };
+    sprockets_rails_2_0_0 = {
+      basename = ''sprockets_rails'';
+      meta = {
+        description = ''Sprockets Rails integration'';
+        homepage = ''https://github.com/rails/sprockets-rails'';
+      };
+      name = ''sprockets-rails-2.0.0'';
+      requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ];
+      sha256 = ''068w0ly7x1vciy4j6mwgsnz6a983pld4rzk1fpvfsmkdqcizb20x'';
     };
     syslog_protocol_0_9_2 = {
       basename = ''syslog_protocol'';
@@ -1564,16 +1589,16 @@ interpreters.'';
       requiredGems = [  ];
       sha256 = ''0s186kh125imdr7dahr10payc1gmxgk6wjy1v3agdyvl53yn5z3z'';
     };
-    therubyracer_0_10_2 = {
+    therubyracer_0_11_4 = {
       basename = ''therubyracer'';
       meta = {
-        description = ''Embed the V8 Javascript interpreter into Ruby'';
+        description = ''Embed the V8 JavaScript interpreter into Ruby'';
         homepage = ''http://github.com/cowboyd/therubyracer'';
-        longDescription = ''Call javascript code and manipulate javascript objects from ruby. Call ruby code and manipulate ruby objects from javascript.'';
+        longDescription = ''Call JavaScript code and manipulate JavaScript objects from Ruby. Call Ruby code and manipulate Ruby objects from JavaScript.'';
       };
-      name = ''therubyracer-0.10.2'';
-      requiredGems = [ g.libv8_3_3_10_4 ];
-      sha256 = ''111hm2l613v06sy7pzjzmnyi4x11rg3c2syhnpv8fn0wnn9rdiyb'';
+      name = ''therubyracer-0.11.4'';
+      requiredGems = [ g.ref_1_0_5 g.libv8_3_11_8_17_x86_64_linux ];
+      sha256 = ''15n9zi9jzb5k34id9xfkxx39y0nap7a4h02z8r00msjjajxag3iq'';
     };
     thin_1_5_1 = {
       basename = ''thin'';
@@ -1586,48 +1611,59 @@ interpreters.'';
       requiredGems = [ g.rack_1_5_2 g.eventmachine_1_0_3 g.daemons_1_1_9 ];
       sha256 = ''0hrq9m3hb6pm8yrqshhg0gafkphdpvwcqmr7k722kgdisp3w91ga'';
     };
-    thor_0_18_0 = {
+    thor_0_18_1 = {
       basename = ''thor'';
       meta = {
         description = ''A scripting framework that replaces rake, sake and rubigen'';
         homepage = ''http://whatisthor.com/'';
         longDescription = ''A scripting framework that replaces rake, sake and rubigen'';
       };
-      name = ''thor-0.18.0'';
+      name = ''thor-0.18.1'';
       requiredGems = [  ];
-      sha256 = ''0m7pl518j5q1ymgxmsi6xfjp6k40mwbmzk33s760v53azwxkfxan'';
+      sha256 = ''0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3'';
     };
-    tilt_1_3_6 = {
+    thread_safe_0_1_0 = {
+      basename = ''thread_safe'';
+      meta = {
+        description = ''A collection of data structures and utilities to make thread-safe programming in Ruby easier'';
+        homepage = ''https://github.com/headius/thread_safe'';
+        longDescription = ''Thread-safe collections and utilities for Ruby'';
+      };
+      name = ''thread_safe-0.1.0'';
+      requiredGems = [ g.atomic_1_1_10 ];
+      sha256 = ''0fhx4110il4iiij5wdfq3afn0wvsz7pdvmx5v2zv24gah1861rsf'';
+    };
+    tilt_1_4_1 = {
       basename = ''tilt'';
       meta = {
         description = ''Generic interface to multiple Ruby template engines'';
         homepage = ''http://github.com/rtomayko/tilt/'';
         longDescription = ''Generic interface to multiple Ruby template engines'';
       };
-      name = ''tilt-1.3.6'';
+      name = ''tilt-1.4.1'';
       requiredGems = [  ];
-      sha256 = ''1yz6zfnwq0qyjn71115vd63ly8zm1jss0b2v7fbcbzzj9lrnq9y6'';
+      sha256 = ''00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir'';
     };
-    tins_0_7_2 = {
+    tins_0_8_3 = {
       basename = ''tins'';
       meta = {
         description = ''Useful stuff.'';
         homepage = ''http://flori.github.com/tins'';
         longDescription = ''All the stuff that isn't good/big enough for a real library.'';
       };
-      name = ''tins-0.7.2'';
+      name = ''tins-0.8.3'';
       requiredGems = [  ];
-      sha256 = ''142mvgn8218wikwdvd5gq4g6k3p24f273wlqvczzfhz02livrz90'';
+      sha256 = ''14wrkki06g088fla8pab331p31ywdij90m14cva1hcpsd9a666ld'';
     };
-    treetop_1_4_12 = {
+    treetop_1_4_14 = {
       basename = ''treetop'';
       meta = {
         description = ''A Ruby-based text parsing and interpretation DSL'';
         homepage = ''https://github.com/cjheath/treetop'';
       };
-      name = ''treetop-1.4.12'';
+      name = ''treetop-1.4.14'';
       requiredGems = [ g.polyglot_0_3_3 g.polyglot_0_3_3 ];
-      sha256 = ''1jlfjq67n933sm0px0s2j965v1kl1rj8fbx6xk8y4yppkv6ygxc8'';
+      sha256 = ''0qbk97wgbvj31sz4h3p8kfmvc8ig97gh91dfmk3m7j1h8vq87acs'';
     };
     trollop_2_0 = {
       basename = ''trollop'';
@@ -1655,6 +1691,30 @@ specify.'';
       requiredGems = [  ];
       sha256 = ''0pi2vabsg73h6z4wfwyd27k63issp2qp1nh0vd74rdk740gmb3kc'';
     };
+    unf_0_1_1 = {
+      basename = ''unf'';
+      meta = {
+        description = ''A wrapper library to bring Unicode Normalization Form support to Ruby/JRuby'';
+        homepage = ''https://github.com/knu/ruby-unf'';
+        longDescription = ''This is a wrapper library to bring Unicode Normalization Form support
+to Ruby/JRuby.
+'';
+      };
+      name = ''unf-0.1.1'';
+      requiredGems = [ g.unf_ext_0_0_6 ];
+      sha256 = ''1q7g7kf1w0bkbfmkbbcsz4hrc45kamll9br8a65l5fv8clbb0m7f'';
+    };
+    unf_ext_0_0_6 = {
+      basename = ''unf_ext'';
+      meta = {
+        description = ''Unicode Normalization Form support library for CRuby'';
+        homepage = ''https://github.com/knu/ruby-unf_ext'';
+        longDescription = ''Unicode Normalization Form support library for CRuby'';
+      };
+      name = ''unf_ext-0.0.6'';
+      requiredGems = [  ];
+      sha256 = ''07zbmkzcid6pzdqgla3456ipfdka7j1v4hsx1iaa8rbnllqbmkdg'';
+    };
     uuid_2_3_7 = {
       basename = ''uuid'';
       meta = {
@@ -1668,7 +1728,7 @@ specify.'';
       requiredGems = [ g.macaddr_1_6_1 ];
       sha256 = ''04q10an3v40zwjihvdwm23fw6vl39fbkhdiwfw78a51ym9airnlp'';
     };
-    uuidtools_2_1_3 = {
+    uuidtools_2_1_4 = {
       basename = ''uuidtools'';
       meta = {
         description = ''UUID generator'';
@@ -1676,9 +1736,21 @@ specify.'';
         longDescription = ''A simple universally unique ID generation library.
 '';
       };
-      name = ''uuidtools-2.1.3'';
+      name = ''uuidtools-2.1.4'';
+      requiredGems = [  ];
+      sha256 = ''1w0bhnkp5515f3yx5fakfrfkawxjpb4fjm1r2c6lk691xlr696s3'';
+    };
+    webrobots_0_1_1 = {
+      basename = ''webrobots'';
+      meta = {
+        description = ''A Ruby library to help write robots.txt compliant web robots'';
+        homepage = ''https://github.com/knu/webrobots'';
+        longDescription = ''This library helps write robots.txt compliant web robots in Ruby.
+'';
+      };
+      name = ''webrobots-0.1.1'';
       requiredGems = [  ];
-      sha256 = ''0v8scs7760334kkwca7n8kah6nk4hyw7izgk014zg1l1yv7kzpi9'';
+      sha256 = ''1jlnhhpa1mkrgsmihs2qx13z3n6xhswjnlk5a2ypyplw2id5x32n'';
     };
     websocket_1_0_7 = {
       basename = ''websocket'';
@@ -1691,15 +1763,15 @@ specify.'';
       requiredGems = [  ];
       sha256 = ''1jrfz4295qbnjaxv37fw9jzxyxz61izp7c0683mnscacpx262zw0'';
     };
-    xapian_full_alaveteli_1_2_9_5 = {
-      basename = ''xapian_full_alaveteli'';
+    xapian_full_1_2_3 = {
+      basename = ''xapian_full'';
       meta = {
         description = ''xapian-core + Ruby xapian-bindings'';
         longDescription = ''Xapian bindings for Ruby without dependency on system Xapian library'';
       };
-      name = ''xapian-full-alaveteli-1.2.9.5'';
+      name = ''xapian-full-1.2.3'';
       requiredGems = [  ];
-      sha256 = ''0qg1jkx5lr4a5v7l3f9gq7f07al6qaxxzma230zrzs48bz3qnhxm'';
+      sha256 = ''02z0wsir38jsp5d6sqrkgv5prk8s6sdf6g2h718j2374kpnkyrxv'';
     };
     xapian_ruby_1_2_15_1 = {
       basename = ''xapian_ruby'';
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index cac5ec483fe..dd7b6fcb218 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "aspell-0.60.6.1";
 
   src = fetchurl {
-    url = "ftp://ftp.gnu.org/gnu/aspell/${name}.tar.gz";
+    url = "mirror://gnu/aspell/${name}.tar.gz";
     sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
   };
 
diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix
index c2aefd64c79..131da4112e8 100644
--- a/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/pkgs/development/libraries/aspell/dictionaries.nix
@@ -29,70 +29,70 @@ let
 in {
 
   de = buildDict {
-    shortName = "de-20030222_1";
+    shortName = "de-20030222-1";
     fullName = "German";
     src = fetchurl {
       url = mirror://gnu/aspell/dict/de/aspell6-de-20030222-1.tar.bz2;
       sha256 = "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s";
     };
   };
-    
+
   en = buildDict {
-    shortName = "en-6.0_0";
+    shortName = "en-7.1-0";
     fullName = "English";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/en/aspell6-en-6.0-0.tar.bz2;
-      sha256 = "1628rrx1yq9jmnd86sr24vih101smb818vf10vx97f6j263niw14";
+      url = mirror://gnu/aspell/dict/en/aspell6-en-7.1-0.tar.bz2;
+      sha256 = "02ldfiny4iakgfgy4sdrzjqdzi7l1rmb6y30lv31kfy5x31g77gz";
     };
   };
-    
+
   es = buildDict {
-    shortName = "es-0.50_2";
+    shortName = "es-1.11-2";
     fullName = "Spanish";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/es/aspell-es-0.50-2.tar.bz2;
-      sha256 = "0i96xswcng35n5zhgpiswmi5sdpx63kl8bg7fl1zp5j1shr2l3jw";
+      url = mirror://gnu/aspell/dict/es/aspell6-es-1.11-2.tar.bz2;
+      sha256 = "1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd";
     };
   };
-    
+
   eo = buildDict {
-    shortName = "eo-0.50_2";
+    shortName = "eo-2.1.20000225a-2";
     fullName = "Esperanto";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/eo/aspell-eo-0.50-2.tar.bz2;
-      sha256 = "19vhdm599ng98nq8jxspgvanv5hwryp0qri1vx6zsjl0jx1acqbc";
+      url = mirror://gnu/aspell/dict/eo/aspell6-eo-2.1.20000225a-2.tar.bz2;
+      sha256 = "09vf0mbiicbmyb4bwb7v7lgpabnylg0wy7m3hlhl5rjdda6x3lj1";
     };
   };
 
   fr = buildDict {
-    shortName = "fr-0.50_3";
+    shortName = "fr-0.50-3";
     fullName = "French";
     src = fetchurl {
       url = mirror://gnu/aspell/dict/fr/aspell-fr-0.50-3.tar.bz2;
       sha256 = "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr";
     };
   };
-    
+
   it = buildDict {
-    shortName = "it-0.53_0";
+    shortName = "it-2.2_20050523-0";
     fullName = "Italian";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/it/aspell-it-0.53-0.tar.bz2;
-      sha256 = "0vzs2mk0h2znx0jjs5lqiwdrc4nf6v3f8xbrsni8pfnxhh5ik1rv";
+      url = mirror://gnu/aspell/dict/it/aspell6-it-2.2_20050523-0.tar.bz2;
+      sha256 = "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v";
     };
   };
-    
+
   la = buildDict {
-    shortName = "la-20020503_0";
+    shortName = "la-20020503-0";
     fullName = "Latin";
     src = fetchurl {
       url = mirror://gnu/aspell/dict/la/aspell6-la-20020503-0.tar.bz2;
       sha256 = "1199inwi16dznzl087v4skn66fl7h555hi2palx6s1f3s54b11nl";
     };
   };
-    
+
   nl = buildDict {
-    shortName = "nl-0.50_2";
+    shortName = "nl-0.50-2";
     fullName = "Dutch";
     src = fetchurl {
       url = mirror://gnu/aspell/dict/nl/aspell-nl-0.50-2.tar.bz2;
@@ -103,23 +103,23 @@ in {
       echo "add nl.rws" > $out/lib/aspell/nederlands.multi
     '';
   };
-    
+
   pl = buildDict {
-    shortName = "pl-6.0_20061121_0";
+    shortName = "pl-6.0_20061121-0";
     fullName = "Polish";
     src = fetchurl {
       url = mirror://gnu/aspell/dict/pl/aspell6-pl-6.0_20061121-0.tar.bz2;
       sha256 = "0kap4kh6bqbb22ypja1m5z3krc06vv4n0hakiiqmv20anzy42xq1";
     };
   };
-     
+
   ru = buildDict {
-    shortName = "ru-0.99f7_1";
+    shortName = "ru-0.99f7-1";
     fullName = "Russian";
     src = fetchurl {
       url = mirror://gnu/aspell/dict/ru/aspell6-ru-0.99f7-1.tar.bz2;
       sha256 = "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw";
     };
   };
-    
+
 }
diff --git a/pkgs/development/libraries/attica/default.nix b/pkgs/development/libraries/attica/default.nix
index 99fe36faa4b..87f6c019fb7 100644
--- a/pkgs/development/libraries/attica/default.nix
+++ b/pkgs/development/libraries/attica/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "attica-0.4.1";
+  name = "attica-0.4.2";
   
   src = fetchurl {
     url = "mirror://kde/stable/attica/${name}.tar.bz2";
-    sha256 = "1rnd861vy6waf25b1ilsr3rwb06dmmlnd8zq3l8y6r0lq5i2bl9n";
+    sha256 = "1y74gsyzi70dfr9d1f1b08k130rm3jaibsppg8dv5h3211vm771v";
   };
   
   buildInputs = [ qt4 ];
diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix
index 8ea6470cde8..2f4de88c94c 100644
--- a/pkgs/development/libraries/audiofile/default.nix
+++ b/pkgs/development/libraries/audiofile/default.nix
@@ -3,17 +3,18 @@
 stdenv.mkDerivation rec {
   name = "audiofile-0.3.3";
 
-  buildInputs = [ alsaLib ];
+  buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
 
   src = fetchurl {
     url = "http://audiofile.68k.org/${name}.tar.gz";
     sha256 = "1qm7z0g1d9rcxi1m87slgdi0rhl94g13dx3d2b05dilghwpgjjgq";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library for reading and writing audio files in various formats";
-    homepage = http://www.68k.org/~michael/audiofile/; 
-    license = "lgpl";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    homepage    = http://www.68k.org/~michael/audiofile/; 
+    license     = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ lovek323 shlevy ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/confuse/default.nix b/pkgs/development/libraries/confuse/default.nix
index 7291aa5eb38..67fe669a037 100644
--- a/pkgs/development/libraries/confuse/default.nix
+++ b/pkgs/development/libraries/confuse/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "confuse-2.7";
   src = fetchurl {
-    url = "http://savannah.nongnu.org/download/confuse/${name}.tar.gz";
+    url = "mirror://savannah/confuse/${name}.tar.gz";
     sha256 = "0y47r2ashz44wvnxdb18ivpmj8nxhw3y9bf7v9w0g5byhgyp89g3";
   };
 
diff --git a/pkgs/development/libraries/ctl/default.nix b/pkgs/development/libraries/ctl/default.nix
index 1020ba3502e..65489ee8c88 100644
--- a/pkgs/development/libraries/ctl/default.nix
+++ b/pkgs/development/libraries/ctl/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "ctl-1.4.1";
 
   src = fetchurl {
-    url = http://surfnet.dl.sourceforge.net/sourceforge/ampasctl/ctl-1.4.1.tar.gz;
+    url = mirror://sourceforge/ampasctl/ctl-1.4.1.tar.gz;
     sha256 = "16lzgbpxdyhykdwndj1i9vx3h4bfkxqqcrvasvgg70gb5raxj0mj";
   };
 
diff --git a/pkgs/development/libraries/exosip/3.x.nix b/pkgs/development/libraries/exosip/3.x.nix
index d850618ecdf..123b53783a6 100644
--- a/pkgs/development/libraries/exosip/3.x.nix
+++ b/pkgs/development/libraries/exosip/3.x.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   version = "3.6.0";
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/exosip/libeXosip2-${version}.tar.gz";
+    url = "mirror://savannah/exosip/libeXosip2-${version}.tar.gz";
     sha256 = "0r1mj8x5991bgwf03bx1ajn5kbbmw1136jabw2pn7dls9h41mnli";
   };
   name = "libexosip2-${version}";
diff --git a/pkgs/development/libraries/exosip/default.nix b/pkgs/development/libraries/exosip/default.nix
index 2a1aea6df32..fb13e0b8c6f 100644
--- a/pkgs/development/libraries/exosip/default.nix
+++ b/pkgs/development/libraries/exosip/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   version = "4.0.0";
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/exosip/libeXosip2-${version}.tar.gz";
+    url = "mirror://savannah/exosip/libeXosip2-${version}.tar.gz";
     sha256 = "1rdjr3x7s992w004cqf4xji1522an9rpzsr9wvyhp685khmahrsj";
   };
   name = "libexosip2-${version}";
diff --git a/pkgs/development/libraries/faac/default.nix b/pkgs/development/libraries/faac/default.nix
index 732b591353c..8e79afb5f9e 100644
--- a/pkgs/development/libraries/faac/default.nix
+++ b/pkgs/development/libraries/faac/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "faac-1.28";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/faac/${name}.tar.gz";
+    url = "mirror://sourceforge/faac/${name}.tar.gz";
     sha256 = "1pqr7nf6p2r283n0yby2czd3iy159gz8rfinkis7vcfgyjci2565";
   };
 
diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix
index b37fcdf4436..98a6c35c8b8 100644
--- a/pkgs/development/libraries/ffmpeg/default.nix
+++ b/pkgs/development/libraries/ffmpeg/default.nix
@@ -78,8 +78,10 @@ stdenv.mkDerivation rec {
     inherit vdpauSupport;
   };
 
-  meta = {
-    homepage = http://www.ffmpeg.org/;
+  meta = with stdenv.lib; {
+    homepage    = http://www.ffmpeg.org/;
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix
index 734bde71338..56c3c3e7a2b 100644
--- a/pkgs/development/libraries/geos/default.nix
+++ b/pkgs/development/libraries/geos/default.nix
@@ -2,7 +2,7 @@
 
 let inherit (composableDerivation) edf; in
 
-composableDerivation.composableDerivation {} {
+composableDerivation.composableDerivation {} rec {
 
   flags =
   # python and ruby untested 
@@ -10,20 +10,14 @@ composableDerivation.composableDerivation {} {
     # (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else [])
     # // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };}
 
-  name = "geos-3.2.2";
+  name = "geos-3.3.8";
 
   src = fetchurl {
-    url = http://download.osgeo.org/geos/geos-3.2.2.tar.bz2;
-    sha256 = "0711wcq46h7zgvp0bk4m60vmx1wal9db1q36mayf0vwk34hprpr4";
+    url = "http://download.osgeo.org/geos/${name}.tar.bz2";
+    sha256 = "0fshz8s9g610ycl4grrmcdcxb01aqpc6qac3x3jjik0vlz8x9v7b";
   };
 
-  # for development version. can be removed ?
-  #configurePhase = "
-  #  [ -f configure ] || \\
-  #  LIBTOOLIZE=libtoolize ./autogen.sh
-  #  [>{ automake --add-missing; autoconf; }
-  #  unset configurePhase; configurePhase
-  #";
+  enableParallelBuilding = true;
 
   meta = {
     description = "C++ port of the Java Topology Suite (JTS)";
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 12ce3fcc29b..01b6795c486 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gettext, perl, libiconvOrEmpty, zlib, libffi
-, python, pcre, libelf }:
+, python, pcre, libelf, libintlOrEmpty }:
 
 # TODO:
 # * Add gio-module-fam
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   };
 
   # configure script looks for d-bus but it is only needed for tests
-  buildInputs = [ libelf ];
+  buildInputs = [ libelf ] ++ libintlOrEmpty;
 
   nativeBuildInputs = [ perl pkgconfig gettext python ];
 
@@ -45,6 +45,8 @@ stdenv.mkDerivation rec {
 
   postConfigure = "sed '/SANE_MALLOC_PROTOS/s,^,//,' -i config.h";
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
   enableParallelBuilding = true;
 
   postInstall = ''rm -rvf $out/share/gtk-doc'';
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
index da861dda12d..d6717d799f1 100644
--- a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
@@ -1,5 +1,6 @@
 { fetchurl, stdenv, pkgconfig, python, gstreamer, xlibs, alsaLib, cdparanoia
 , libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo
+, libintlOrEmpty
 , # Whether to build no plugins that have external dependencies
   # (except the ALSA plugin).
   minimalDeps ? false
@@ -30,7 +31,10 @@ stdenv.mkDerivation rec {
       [ xlibs.xlibs xlibs.libXv libogg libtheora libvorbis freetype pango
         liboil ]
     # can't build cdparanoia on darwin
-    ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia;
+    ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia
+    ++ libintlOrEmpty;
+
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
   propagatedBuildInputs = [ gstreamer ];
  
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index c7dc45aa462..6debf2a807b 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -17,7 +17,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-I${cairo}/include/cairo";
+  NIX_CFLAGS_COMPILE = "-I${cairo}/include/cairo"
+    + stdenv.lib.optionalString (libintlOrEmpty != []) " -lintl";
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin xlibs.libXi;
 
   nativeBuildInputs = [ perl pkgconfig gettext ];
 
@@ -34,8 +37,12 @@ stdenv.mkDerivation rec {
 
   postInstall = "rm -rf $out/share/gtk-doc";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A multi-platform toolkit for creating graphical user interfaces";
+    homepage    = http://www.gtk.org/;
+    license     = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ lovek323 raskin ];
+    platforms   = platforms.all;
 
     longDescription = ''
       GTK+ is a highly usable, feature rich toolkit for creating
@@ -47,12 +54,5 @@ stdenv.mkDerivation rec {
       proprietary software with GTK+ without any license fees or
       royalties.
     '';
-
-    homepage = http://www.gtk.org/;
-
-    license = "LGPLv2+";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gtk-sharp-2/default.nix b/pkgs/development/libraries/gtk-sharp-2/default.nix
index 9baac518ff7..0e659fb074b 100644
--- a/pkgs/development/libraries/gtk-sharp-2/default.nix
+++ b/pkgs/development/libraries/gtk-sharp-2/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   builder = ./builder.sh;
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.10.tar.gz;
+    url = mirror://gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.10.tar.gz;
     sha256 = "1y55vc2cp4lggmbil2lb28d0gn71iq6wfyja1l9mya5xll8svzwc";
   };
 
diff --git a/pkgs/development/libraries/gtkspell/default.nix b/pkgs/development/libraries/gtkspell/default.nix
index 46e1bba488a..030375938a6 100644
--- a/pkgs/development/libraries/gtkspell/default.nix
+++ b/pkgs/development/libraries/gtkspell/default.nix
@@ -1,12 +1,12 @@
-{stdenv, fetchurl, gtk, aspell, pkgconfig}:
+{stdenv, fetchurl, gtk, aspell, pkgconfig, enchant, intltool}:
 
 stdenv.mkDerivation {
-  name = "gtkspell-2.0.11";
+  name = "gtkspell-2.0.16";
   
   src = fetchurl {
-    url = http://gtkspell.sourceforge.net/download/gtkspell-2.0.11.tar.gz;
-    md5 = "494869f67146a12a3f17a958f51aeb05";
+    url = mirror://sourceforge/gtkspell/gtkspell-2.0.16.tar.gz;
+    sha256 = "00hdv28bp72kg1mq2jdz1sdw2b8mb9iclsp7jdqwpck705bdriwg";
   };
   
-  buildInputs = [aspell pkgconfig gtk];
+  buildInputs = [aspell pkgconfig gtk enchant intltool];
 }
diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix
index c07060cf197..7ee64f4254e 100644
--- a/pkgs/development/libraries/haskell/Hipmunk/default.nix
+++ b/pkgs/development/libraries/haskell/Hipmunk/default.nix
@@ -2,12 +2,9 @@
 
 cabal.mkDerivation (self: {
   pname = "Hipmunk";
-  version = "5.2.0.10";
-  sha256 = "0kq6dlx1g7dra7nsfmrc13yvnl7wh00fadmgln9v2vyf0ww82x95";
+  version = "5.2.0.11";
+  sha256 = "0pcbwlq0njgj6dzh8h94gml63wv52f6l9hdas378lm7v8gbizxl7";
   buildDepends = [ StateVar transformers ];
-  patchPhase = ''
-    sed -i -e 's|containers.*,|containers,|' Hipmunk.cabal
-  '';
   meta = {
     homepage = "http://patch-tag.com/r/felipe/hipmunk/home";
     description = "A Haskell binding for Chipmunk";
diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix
index 738b69f2832..2dead8de40d 100644
--- a/pkgs/development/libraries/haskell/MonadRandom/default.nix
+++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MonadRandom";
-  version = "0.1.9";
-  sha256 = "1n947650xlz47rj6y6ik2mknyr9smwragjr5akccinmfm1krg6lz";
+  version = "0.1.10";
+  sha256 = "0acx8vm43pd3wn5gp4rx9h24y08fcdy4bpack1sd0pxx2wmhi5qs";
   buildDepends = [ mtl random transformers ];
   meta = {
     description = "Random-number generation monad";
diff --git a/pkgs/development/libraries/haskell/SDL/default.nix b/pkgs/development/libraries/haskell/SDL/default.nix
index 62731657e82..2fd9c3e0fb6 100644
--- a/pkgs/development/libraries/haskell/SDL/default.nix
+++ b/pkgs/development/libraries/haskell/SDL/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "SDL";
-  version = "0.6.4";
-  sha256 = "1zrfx2nw0k8lfkr6vnwsp5wr3yz62v0bq60p4sdzj7gm01bz92g0";
+  version = "0.6.5";
+  sha256 = "1vlf1bvp4cbgr31qk6aqikhgn9jbgj7lrvnjzv3ibykm1hhd6vdb";
   extraLibraries = [ SDL ];
   meta = {
     description = "Binding to libSDL";
diff --git a/pkgs/development/libraries/haskell/abstract-deque/default.nix b/pkgs/development/libraries/haskell/abstract-deque/default.nix
index 475abb0b3a9..263cd049a3d 100644
--- a/pkgs/development/libraries/haskell/abstract-deque/default.nix
+++ b/pkgs/development/libraries/haskell/abstract-deque/default.nix
@@ -2,10 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "abstract-deque";
-  version = "0.2";
-  sha256 = "0cq1k74b854flfvh7qhfnpngn4vyzp1az1rkaara23wlylydgs89";
-  buildDepends = [ HUnit random ];
+  version = "0.2.2";
+  sha256 = "12g4y3j59nkjw9ja247m8ydhj6a033lzfbqkp4a5slrqdxfdlvyb";
+  buildDepends = [ HUnit random testFramework testFrameworkHunit ];
   testDepends = [ HUnit random testFramework testFrameworkHunit ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki";
     description = "Abstract, parameterized interface to mutable Deques";
diff --git a/pkgs/development/libraries/haskell/acid-state/default.nix b/pkgs/development/libraries/haskell/acid-state/default.nix
index ed31aaed000..28d8def56cf 100644
--- a/pkgs/development/libraries/haskell/acid-state/default.nix
+++ b/pkgs/development/libraries/haskell/acid-state/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "acid-state";
-  version = "0.11.3";
-  sha256 = "0808wcr2n9r3z94ljlzalzkfr7ri327vm5s8xif42n9dw600xi0j";
+  version = "0.11.4";
+  sha256 = "1z9jswg5c2wp9k2lfp0yx7mvw6iiyizm72s552lgjn8i3slq8481";
   buildDepends = [
     cereal extensibleExceptions filepath mtl network safecopy stm
   ];
diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix
index 209341e22e7..c51663a9d09 100644
--- a/pkgs/development/libraries/haskell/active/default.nix
+++ b/pkgs/development/libraries/haskell/active/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "active";
-  version = "0.1.0.4";
-  sha256 = "0f4bgx7l9vx2kywl87zpxpjbfix79lp8chf6xzfpmh4wrbmfgi1s";
+  version = "0.1.0.6";
+  sha256 = "0hh52hkmma4lxfv3gj7x23cwx8v6wd1cm9hblvhzhylxk8dyl5m7";
   buildDepends = [ newtype semigroupoids semigroups vectorSpace ];
   testDepends = [
     newtype QuickCheck semigroupoids semigroups vectorSpace
diff --git a/pkgs/development/libraries/haskell/atomic-primops/default.nix b/pkgs/development/libraries/haskell/atomic-primops/default.nix
index 4b37ea84d58..b542816f05b 100644
--- a/pkgs/development/libraries/haskell/atomic-primops/default.nix
+++ b/pkgs/development/libraries/haskell/atomic-primops/default.nix
@@ -1,10 +1,10 @@
-{ cabal, Cabal, primitive }:
+{ cabal, bitsAtomic, Cabal, primitive }:
 
 cabal.mkDerivation (self: {
   pname = "atomic-primops";
-  version = "0.1.0.2";
-  sha256 = "1qjm97hi2wr658yk7f5cfppizaawmrkvs2q7qzq00h14fr71xxca";
-  buildDepends = [ Cabal primitive ];
+  version = "0.4";
+  sha256 = "01sg0yn25fs0z7dmrvhyp3amay9l028xs570xhy6vvplrji1mxf0";
+  buildDepends = [ bitsAtomic Cabal primitive ];
   meta = {
     homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki";
     description = "A safe approach to CAS and other atomic ops in Haskell";
diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
index 663a91b0c30..68b08e50686 100644
--- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
@@ -3,14 +3,14 @@
 
 cabal.mkDerivation (self: {
   pname = "attoparsec-conduit";
-  version = "1.0.1";
-  sha256 = "14b6ym5sjvg1x82ijydhrjk5445kg0fvwqzqwqld59akbqb6fpg5";
+  version = "1.0.1.2";
+  sha256 = "1j05r7mvm83wgnka7asmwd1dj4ajkg548mryyhpr7dd53vn5lbx0";
   buildDepends = [ attoparsec conduit text transformers ];
   testDepends = [ attoparsec conduit hspec resourcet text ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
     description = "Consume attoparsec parsers via conduit";
-    license = self.stdenv.lib.licenses.bsd3;
+    license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
diff --git a/pkgs/development/libraries/haskell/bindings-DSL/default.nix b/pkgs/development/libraries/haskell/bindings-DSL/default.nix
new file mode 100644
index 00000000000..9d6e8d1a04d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bindings-DSL/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "bindings-DSL";
+  version = "1.0.16";
+  sha256 = "1sly88585f94dsnhyw6nagnr4jfjixnn61my85x05987flf325px";
+  meta = {
+    homepage = "http://bitbucket.org/mauricio/bindings-dsl";
+    description = "FFI domain specific language, on top of hsc2hs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bindings-posix/default.nix b/pkgs/development/libraries/haskell/bindings-posix/default.nix
new file mode 100644
index 00000000000..23994140d6c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bindings-posix/default.nix
@@ -0,0 +1,13 @@
+{ cabal, bindingsDSL }:
+
+cabal.mkDerivation (self: {
+  pname = "bindings-posix";
+  version = "1.2.3";
+  sha256 = "0nj18lfpn8hmlaa7cmvdkjnk8fi2f6ysjbigkx7zbrpqnvbi63ba";
+  buildDepends = [ bindingsDSL ];
+  meta = {
+    description = "Low level bindings to posix";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix
index 14695fd08f5..69acb897220 100644
--- a/pkgs/development/libraries/haskell/classy-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix
@@ -1,15 +1,15 @@
-{ cabal, basicPrelude, hashable, hspec, liftedBase, monadControl
-, QuickCheck, systemFilepath, text, transformers
+{ cabal, async, basicPrelude, deepseq, hashable, hspec, liftedBase
+, monadControl, QuickCheck, systemFilepath, text, transformers
 , unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude";
-  version = "0.5.8";
-  sha256 = "1yq2x3mfkasprmsx1gracjhih9l9x0dsq6pdf90khlcl11qh57ir";
+  version = "0.5.9";
+  sha256 = "1qqmip3ynqdxlwynm60wsn82dcyymcfql79k039iablanj4mic61";
   buildDepends = [
-    basicPrelude hashable liftedBase monadControl systemFilepath text
-    transformers unorderedContainers vector
+    async basicPrelude deepseq hashable liftedBase monadControl
+    systemFilepath text transformers unorderedContainers vector
   ];
   testDepends = [ hspec QuickCheck transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/comonad-transformers/default.nix b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
index eb1a83c80e8..45b218a40f7 100644
--- a/pkgs/development/libraries/haskell/comonad-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "comonad-transformers";
-  version = "3.0.3";
-  sha256 = "1q11xasl90z8sv9f7h77dxjsi2cwnjxqpaf0n5pvzn88nz9h6g66";
+  version = "3.0.4";
+  sha256 = "1jvg08vmi47p8ji1llci02lk675q93pm6dd8imqj6xjrq34g4x9a";
   buildDepends = [
     comonad contravariant distributive semigroupoids semigroups
     transformers
diff --git a/pkgs/development/libraries/haskell/comonad/default.nix b/pkgs/development/libraries/haskell/comonad/default.nix
index 86a8a5c2c30..472e4e315c1 100644
--- a/pkgs/development/libraries/haskell/comonad/default.nix
+++ b/pkgs/development/libraries/haskell/comonad/default.nix
@@ -1,10 +1,10 @@
-{ cabal, doctest, filepath, semigroups, transformers }:
+{ cabal, doctest, filepath, semigroups, tagged, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "comonad";
-  version = "3.0.3";
-  sha256 = "1wngwa1cdww5c631dcil0c7mgkqx9bj7m5i63p7d9ymhpyx9sw2l";
-  buildDepends = [ semigroups transformers ];
+  version = "3.1";
+  sha256 = "0sl9b3f1vwpjdvnrxv7b8n512w05pv4in6qx3l4sbksdp1zjvcyv";
+  buildDepends = [ semigroups tagged transformers ];
   testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/comonad/";
diff --git a/pkgs/development/libraries/haskell/comonads-fd/default.nix b/pkgs/development/libraries/haskell/comonads-fd/default.nix
index 08032cb60ab..aac28ff0871 100644
--- a/pkgs/development/libraries/haskell/comonads-fd/default.nix
+++ b/pkgs/development/libraries/haskell/comonads-fd/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "comonads-fd";
-  version = "3.0.2";
-  sha256 = "1gzgld895b11j556nc5pj7nbafx746b1z49bx4z38l9wq6qzbvqa";
+  version = "3.0.3";
+  sha256 = "06x545yq5xc3kphjipkgjrgrfvvkjpy0wji9d5fw44ca91nzglww";
   buildDepends = [
     comonad comonadTransformers mtl semigroups transformers
   ];
diff --git a/pkgs/development/libraries/haskell/concatenative/default.nix b/pkgs/development/libraries/haskell/concatenative/default.nix
new file mode 100644
index 00000000000..34344c1566b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/concatenative/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "concatenative";
+  version = "1.0.1";
+  sha256 = "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd";
+  meta = {
+    homepage = "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty";
+    description = "A library for postfix control flow";
+    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 26d775772e0..8c550065deb 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";
-  sha256 = "0nail476sz4dmr052sl5s14hkk336zp22hpgmr2qf141zzy8i2m1";
+  version = "1.0.7.3";
+  sha256 = "0ih3ymv5m3c66wr9xydc1dxgpvh5b92dyyc7v67li6n3w7dzi6fp";
   buildDepends = [
     liftedBase mmorph monadControl mtl resourcet text transformers
     transformersBase void
@@ -16,7 +16,7 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
     description = "Streaming data processing library";
-    license = self.stdenv.lib.licenses.bsd3;
+    license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
diff --git a/pkgs/development/libraries/haskell/contravariant/default.nix b/pkgs/development/libraries/haskell/contravariant/default.nix
index e1f5e2ae567..7978a4185af 100644
--- a/pkgs/development/libraries/haskell/contravariant/default.nix
+++ b/pkgs/development/libraries/haskell/contravariant/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "contravariant";
-  version = "0.4.1";
-  sha256 = "0alzl47lqzw9fqjqxdfy40f1aynd8mc00b2h7fj2ch0zq82hm85q";
+  version = "0.4.3";
+  sha256 = "1hhcsy5bshi2yx8618wxa40gax5wfapnbgdmv1acgjyxb6vbmsp6";
   buildDepends = [ tagged transformers transformersCompat ];
   meta = {
     homepage = "http://github.com/ekmett/contravariant/";
diff --git a/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix b/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
index 5066a83c5f6..db9b90574e4 100644
--- a/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
+++ b/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-binary-ieee754";
-  version = "0.4.3";
-  sha256 = "0aba7qvjvhfp9cpr65j8zs62niv9yccrardk10aaqpkz3ihc86pm";
+  version = "0.4.4";
+  sha256 = "02nzg1barhqhpf4x26mpzvk7jd29nali033qy01adjplv2z5m5sr";
   buildDepends = [ binary ];
   meta = {
     homepage = "https://john-millikin.com/software/data-binary-ieee754/";
diff --git a/pkgs/development/libraries/haskell/dimensional-tf/default.nix b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
index 70995ecb3ce..d28de6c67a0 100644
--- a/pkgs/development/libraries/haskell/dimensional-tf/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dimensional-tf";
-  version = "0.1.1";
-  sha256 = "0hhp2nx8xyk5ms3mzg1d3jhzm1b0bxz7aijxqasrxjq9p04jr2ci";
+  version = "0.2";
+  sha256 = "0j23iamgcm7wy6y7i7diq5nnaimpsz0vvb1yrmyh0qz792d60fw1";
   buildDepends = [ numtypeTf time ];
   meta = {
     homepage = "http://dimensional.googlecode.com/";
diff --git a/pkgs/development/libraries/haskell/dimensional/default.nix b/pkgs/development/libraries/haskell/dimensional/default.nix
index e820df4f0ba..154b7ea0628 100644
--- a/pkgs/development/libraries/haskell/dimensional/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dimensional";
-  version = "0.12";
-  sha256 = "1bk52wxmgcm34b516npy1ynrzqajgkshd8vfjm44vjcjvfrlf3bc";
+  version = "0.12.1";
+  sha256 = "176mvnd570xskjs6ky1wax9adzzrm9j6ai0fc4hy2z4097ydcgwm";
   buildDepends = [ numtype time ];
   meta = {
     homepage = "http://dimensional.googlecode.com/";
diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix
index 0854f39efce..e4756eeb2dd 100644
--- a/pkgs/development/libraries/haskell/dns/default.nix
+++ b/pkgs/development/libraries/haskell/dns/default.nix
@@ -1,15 +1,20 @@
 { cabal, attoparsec, attoparsecConduit, binary, blazeBuilder
-, conduit, iproute, mtl, network, networkConduit, random
+, conduit, hspec, iproute, mtl, network, networkConduit, random
 }:
 
 cabal.mkDerivation (self: {
   pname = "dns";
-  version = "0.3.6";
-  sha256 = "0dpwy94id9rxxjpji47nazinm8i1ihm0606dmi5iqqhbl5h2jara";
+  version = "0.3.7";
+  sha256 = "1wly3h36j9gjyx6p2vzand5019m6rs0qkcf1h4q61igks65xs674";
   buildDepends = [
     attoparsec attoparsecConduit binary blazeBuilder conduit iproute
     mtl network networkConduit random
   ];
+  testDepends = [
+    attoparsec attoparsecConduit binary blazeBuilder conduit hspec
+    iproute mtl network networkConduit random
+  ];
+  doCheck = false;
   meta = {
     description = "DNS library in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix
index 841fae96791..8500de5fcfb 100644
--- a/pkgs/development/libraries/haskell/dual-tree/default.nix
+++ b/pkgs/development/libraries/haskell/dual-tree/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dual-tree";
-  version = "0.1.0.2";
-  sha256 = "0ys50m8yjksxi33qyk6ql4ldpdzb0fvxqvywi3y46xi16w5yrkb0";
+  version = "0.1.0.3";
+  sha256 = "0k3p1lqhynlqvkbnrs5vn478c76qcn754n5pb17p5i4jcw94bm0n";
   buildDepends = [ monoidExtras newtype semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/fast-logger/default.nix b/pkgs/development/libraries/haskell/fast-logger/default.nix
index c9544b2c1f6..b192c1e0c61 100644
--- a/pkgs/development/libraries/haskell/fast-logger/default.nix
+++ b/pkgs/development/libraries/haskell/fast-logger/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fast-logger";
-  version = "0.3.1";
-  sha256 = "0sjn3vad0fbchv1fhap71wfnihlwnfhk6p9h9hpnbr0i4b32f1ks";
+  version = "0.3.2";
+  sha256 = "0bx8yjg7bf18i7j7fnhidnms5a3v6hiwqqvr249fk03c86v20rla";
   buildDepends = [ blazeBuilder dateCache filepath text unixTime ];
   testDepends = [ hspec ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index 0064a7f425a..71a3fe8d0c2 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fclabels";
-  version = "1.1.6";
-  sha256 = "0f5zqbqsm89lp1f7wrmcs8pn7hzbbl8id7xa6ny114bgxrfbrwpk";
+  version = "1.1.7.1";
+  sha256 = "1f34r3bzn1cbba8d5d1j3wxrlrrj5vf09hpgd6ppina91wyj4dyn";
   buildDepends = [ mtl transformers ];
   meta = {
     homepage = "https://github.com/sebastiaanvisser/fclabels";
diff --git a/pkgs/development/libraries/haskell/filesystem-conduit/default.nix b/pkgs/development/libraries/haskell/filesystem-conduit/default.nix
index 46ae27fc090..f1a0554e380 100644
--- a/pkgs/development/libraries/haskell/filesystem-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/filesystem-conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "filesystem-conduit";
-  version = "1.0.0";
-  sha256 = "1fz3iihcqpg6m3svjqdg8lvkpza955qn8cbs9b3w333vxkglhi6v";
+  version = "1.0.0.1";
+  sha256 = "04l8i97mr0jzkc7vc77j885n45qd2qyn5kmzxyckp3za96sjsqqw";
   buildDepends = [
     conduit systemFileio systemFilepath text transformers
   ];
@@ -15,7 +15,7 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
     description = "Use system-filepath data types with conduits";
-    license = self.stdenv.lib.licenses.bsd3;
+    license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 9213c534fa3..45c96e64012 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
     safe SHA syb tagsoup text time url utf8String xhtml xml xssSanitize
     zlib
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://gitit.net";
     description = "Wiki using happstack, git or darcs, and pandoc";
diff --git a/pkgs/development/libraries/haskell/hackage-db/default.nix b/pkgs/development/libraries/haskell/hackage-db/default.nix
index f3d029a5ea7..46e2913572e 100644
--- a/pkgs/development/libraries/haskell/hackage-db/default.nix
+++ b/pkgs/development/libraries/haskell/hackage-db/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hackage-db";
-  version = "1.5";
-  sha256 = "1m7f6vwgjzibk8rd14y6m62xv5969ns94a57sansi9d83q6rj9iv";
+  version = "1.7";
+  sha256 = "0mf22xxbcbjb7l4jahknp6s7lsfn43ib7z9m2jsg9py92vkacfp1";
   buildDepends = [ Cabal filepath tar utf8String ];
   meta = {
     homepage = "http://github.com/peti/hackage-db";
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
index fad611798e9..c191c428780 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-hamlet";
-  version = "7.0.2";
-  sha256 = "0hsmvv5rggyl7sa4sp30zyr43k6zj7dlpd0mb916wzcqrnyxa34a";
+  version = "7.0.3";
+  sha256 = "0z4phykm2wxpdga47sdg76v7vmy32kav4nscizlkl648qjrx9k3r";
   buildDepends = [ hamlet happstackServer text ];
   meta = {
     homepage = "http://www.happstack.com/";
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-lite.nix b/pkgs/development/libraries/haskell/happstack/happstack-lite.nix
new file mode 100644
index 00000000000..46edfb8946a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/happstack/happstack-lite.nix
@@ -0,0 +1,14 @@
+{ cabal, happstackServer, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "happstack-lite";
+  version = "7.3.1";
+  sha256 = "0y8d0xv26szfjmkfqzak19zqjgv0w6rkc1rzrd2jkvsbchnwacjy";
+  buildDepends = [ happstackServer mtl text ];
+  meta = {
+    homepage = "http://www.happstack.com/";
+    description = "Happstack minus the useless stuff";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index b679ba453fd..f58e4ba2d3d 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.1.7.1";
-  sha256 = "1q897av0ynfh6jn4jhmmamkwda7zg36p4ncn9yic69calzvjpz72";
+  version = "7.3.0";
+  sha256 = "094q6m6a4cxwmmw9hin2pphiq8gi0y4ma4vkvqv7rwqnn3mf9n0q";
   buildDepends = [
     base64Bytestring blazeHtml extensibleExceptions filepath hslogger
     html monadControl mtl network parsec sendfile syb systemFilepath
diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
index 7b6ccb69633..98dfff8505a 100644
--- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.6.0.2";
   sha256 = "1msqnsavghsc5bil3mm9swpi9a54pki4162jdfwwvlzvdmfvk9hp";
   buildDepends = [ haskellSrcExts syb thOrphans uniplate ];
+  jailbreak = true;
   meta = {
     description = "Parse source to template-haskell abstract syntax";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index f09e3efaeb4..e0cab385286 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.4";
-  sha256 = "0khwhhcjvhsh92b420bylx4c1ahpvk6c50s8y6bacfwfq71ydwmb";
+  version = "0.5.5";
+  sha256 = "0ypxlsfh9xdpnxp6j7wy7q7ymhmxfgwrqi4c08zwf8xy5sfvahs9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ blazeHtml filepath mtl parsec regexPcre ];
diff --git a/pkgs/development/libraries/haskell/hinotify/default.nix b/pkgs/development/libraries/haskell/hinotify/default.nix
index de1c0e12759..bd706339c02 100644
--- a/pkgs/development/libraries/haskell/hinotify/default.nix
+++ b/pkgs/development/libraries/haskell/hinotify/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hinotify";
-  version = "0.3.5";
-  sha256 = "00pzvqw2w3gbz8j4hiz8zxm7rki07g1iamjlbazz3kmpwcgjxi0l";
+  version = "0.3.6";
+  sha256 = "0vzn9z90z9zk7g9pvbrgm6xyb4b5x2dai1c70fvmdi3w4h2x17zw";
   meta = {
     homepage = "https://github.com/kolmodin/hinotify.git";
     description = "Haskell binding to inotify";
diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index acffb0e55ff..e4dd6ef1faa 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -2,14 +2,14 @@
 , dataDefault, filepath, hamlet, hjsmin, hledger, hledgerLib, hspec
 , httpConduit, HUnit, json, networkConduit, parsec, regexpr, safe
 , shakespeareText, text, time, transformers, wai, waiExtra
-, waiHandlerLaunch, warp, yaml, yesod, yesodCore, yesodPlatform
-, yesodStatic, yesodTest
+, waiHandlerLaunch, warp, yaml, yesod, yesodCore, yesodStatic
+, yesodTest
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.21.2";
-  sha256 = "1z8nyvqzyjh36g50w4gmh8mzvydanfn1s3gx4nliwk4mjfj4bbkl";
+  version = "0.21.3";
+  sha256 = "18gil6qwlzfk0y0f9q1la5np5phi0h3nqlb8rwn9qjjgvs134jgy";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
     hamlet hjsmin hledger hledgerLib httpConduit HUnit json
     networkConduit parsec regexpr safe shakespeareText text time
     transformers wai waiExtra waiHandlerLaunch warp yaml yesod
-    yesodCore yesodPlatform yesodStatic
+    yesodCore yesodStatic
   ];
   testDepends = [ hspec yesod yesodTest ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix
index 2542e200586..eda7e1ff859 100644
--- a/pkgs/development/libraries/haskell/hmatrix/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix/default.nix
@@ -1,12 +1,12 @@
-{ cabal, binary, blas, gsl, liblapack, random, storableComplex
-, vector
+{ cabal, binary, blas, deepseq, gsl, liblapack, random
+, storableComplex, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "hmatrix";
-  version = "0.14.1.0";
-  sha256 = "10fvbk3k2fgac46a86mc8g0s5gsw1p1bz4k57gn6dzgwh73mxjx7";
-  buildDepends = [ binary random storableComplex vector ];
+  version = "0.15.0.0";
+  sha256 = "1n3m36kkgxhhmm7cmz4is9q558dw3l5h1laxnxwhs3cfdzfclyfs";
+  buildDepends = [ binary deepseq random storableComplex vector ];
   extraLibraries = [ blas gsl liblapack ];
   meta = {
     homepage = "https://github.com/albertoruiz/hmatrix";
diff --git a/pkgs/development/libraries/haskell/indents/default.nix b/pkgs/development/libraries/haskell/indents/default.nix
new file mode 100644
index 00000000000..84a19f541ee
--- /dev/null
+++ b/pkgs/development/libraries/haskell/indents/default.nix
@@ -0,0 +1,14 @@
+{ cabal, concatenative, mtl, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "indents";
+  version = "0.3.3";
+  sha256 = "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn";
+  buildDepends = [ concatenative mtl parsec ];
+  meta = {
+    homepage = "http://patch-tag.com/r/salazar/indents";
+    description = "indentation sensitive parser-combinators for parsec";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-java/default.nix b/pkgs/development/libraries/haskell/language-java/default.nix
index 5464826788b..aad46d4e017 100644
--- a/pkgs/development/libraries/haskell/language-java/default.nix
+++ b/pkgs/development/libraries/haskell/language-java/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-java";
-  version = "0.2.4";
-  sha256 = "1fb36xq75mzmbsh25s0pscazvz6nvfy2mn1270653m7s3gdgcs5f";
+  version = "0.2.5.1";
+  sha256 = "06jzski25840jk3775ia7nx11mjkyp9cmmb7y81djcndliblbyhc";
   buildDepends = [ cpphs parsec syb ];
   testDepends = [
     filepath HUnit mtl QuickCheck testFramework testFrameworkHunit
@@ -14,7 +14,7 @@ cabal.mkDerivation (self: {
   buildTools = [ alex ];
   doCheck = false;
   meta = {
-    homepage = "http://github.com/vincenthz/language-java";
+    homepage = "http://github.com/jkoppel/language-java";
     description = "Manipulating Java source: abstract syntax, lexer, parser, and pretty-printer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/monad-par-extras/default.nix b/pkgs/development/libraries/haskell/monad-par-extras/default.nix
index fb877337221..6b9ca0e7553 100644
--- a/pkgs/development/libraries/haskell/monad-par-extras/default.nix
+++ b/pkgs/development/libraries/haskell/monad-par-extras/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-par-extras";
-  version = "0.3.2";
-  sha256 = "1k0j3n803z4lv5impz6xd1nzav35dl5f68nlw2ppgg1bbfpvdv6b";
+  version = "0.3.3";
+  sha256 = "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2";
   buildDepends = [
     abstractPar cereal deepseq mtl random transformers
   ];
diff --git a/pkgs/development/libraries/haskell/monad-par/0.3.4.2.nix b/pkgs/development/libraries/haskell/monad-par/0.3.4.3.nix
index ab875b34c36..22b9d359faf 100644
--- a/pkgs/development/libraries/haskell/monad-par/0.3.4.2.nix
+++ b/pkgs/development/libraries/haskell/monad-par/0.3.4.3.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-par";
-  version = "0.3.4.2";
-  sha256 = "1k10m4w2g92psahsvcyi98sc31wg5anijp46lbsipi2r2gxxc7bs";
+  version = "0.3.4.3";
+  sha256 = "1yf1s44r2mkqimi26g9y4zxqgs4yizfmigfx9mkfgbqsn2a8sff6";
   buildDepends = [
     abstractDeque abstractPar deepseq monadParExtras mtl mwcRandom
     parallel
diff --git a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
index 483271fe959..2785f9c5ab1 100644
--- a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
+++ b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network-conduit-tls";
-  version = "1.0.0.2";
-  sha256 = "1vzhalz6hxal73rxm6f2l9m7j34mldamz16wrb6ay67wg6giq55z";
+  version = "1.0.0.3";
+  sha256 = "0gaws4spd50dmqjsxdxvjk5n5l0ib4q0brwnxrk725d3b3hanpz1";
   buildDepends = [
     aeson certificate conduit cryptoApi cryptoRandomApi network
     networkConduit pem systemFileio systemFilepath tls tlsExtra
diff --git a/pkgs/development/libraries/haskell/numtype-tf/default.nix b/pkgs/development/libraries/haskell/numtype-tf/default.nix
index 76f57daca38..ad7f2d98660 100644
--- a/pkgs/development/libraries/haskell/numtype-tf/default.nix
+++ b/pkgs/development/libraries/haskell/numtype-tf/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "numtype-tf";
-  version = "0.1";
-  sha256 = "1hvnqgjg7yifxdsji9v0wqwbp4syhdc97pa3nrn4p96g7kmvw25v";
+  version = "0.1.1";
+  sha256 = "0aj24jlfcv4rsa0zfglsfgq9f0kxln32drypp66652ycffz3ip9a";
   meta = {
     homepage = "http://dimensional.googlecode.com/";
     description = "Type-level (low cardinality) integers, implemented using type families";
diff --git a/pkgs/development/libraries/haskell/numtype/default.nix b/pkgs/development/libraries/haskell/numtype/default.nix
index be90f003f7f..d35f763d32e 100644
--- a/pkgs/development/libraries/haskell/numtype/default.nix
+++ b/pkgs/development/libraries/haskell/numtype/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "numtype";
-  version = "1.0";
-  sha256 = "2606e81d7bcef0ba76b1e6ffc8d513c36fef5fefaab3bdd02da18761ec504e1f";
+  version = "1.0.1";
+  sha256 = "130qchi9dplpg7pxf4pz7nz4mnprngw16mizqycp5pdlawbcp5js";
   meta = {
     homepage = "http://dimensional.googlecode.com/";
     description = "Type-level (low cardinality) integers";
diff --git a/pkgs/development/libraries/haskell/oeis/default.nix b/pkgs/development/libraries/haskell/oeis/default.nix
index 0b26de00e05..d5ec97b6f6a 100644
--- a/pkgs/development/libraries/haskell/oeis/default.nix
+++ b/pkgs/development/libraries/haskell/oeis/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "oeis";
-  version = "0.3.4";
-  sha256 = "15xn7cybk43lk8wjd22l3zwvkyrmlixpfyrxsy3rnvh0vmn0r25d";
+  version = "0.3.5";
+  sha256 = "0r23mqbfvvvx6shzdclzfrqi8r95gxl93cih7ny7w7px3w5yc5x6";
   buildDepends = [ HTTP network ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index 7c4c1dba381..7ccbe145d70 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "1.2.1";
-  sha256 = "1f01fvagjxqqycblq3z3z6qcas9vp9bgxnjz09173x4c9xvg3qj2";
+  version = "1.2.2.0";
+  sha256 = "18p3yz683ks0gdn1l4qys29jj7iqhlwh7i0s50bkl4x1w0mpa1kh";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
     liftedBase monadControl monadLogger pathPieces poolConduit
diff --git a/pkgs/development/libraries/haskell/pipes-concurrency/default.nix b/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
index d931845f16e..970321bf286 100644
--- a/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-concurrency";
-  version = "1.2.0";
-  sha256 = "058v9d3wf9n1d25rhdq5vj60p8mll5yv2zn2k1092bg7qisip1fq";
+  version = "1.2.1";
+  sha256 = "036cn6pafqpf2811iigablks3zk747bnzji9ykrgwhpja427vlbl";
   buildDepends = [ pipes stm ];
   meta = {
     description = "Concurrency for the pipes ecosystem";
diff --git a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
index 90a92019f0e..a3ffd276c2c 100644
--- a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "postgresql-libpq";
-  version = "0.8.2.2";
-  sha256 = "1mmsfgia318p34l8jx8hihb160sx2wpg2h5r741akcs50v6p5878";
+  version = "0.8.2.3";
+  sha256 = "08l3va5v8ppajgl8ywmzjdvd6v2vhqfj0y55mb1jxkdpvkd5hckl";
   extraLibraries = [ postgresql ];
   meta = {
     homepage = "http://github.com/lpsmith/postgresql-libpq";
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 888f992b159..1ae1737e4b2 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.3.2";
-  sha256 = "1gh2ih1n6g17jry12g7nv344sfzrhfc1assslx0cjlsryhbz25lp";
+  version = "0.3.4.0";
+  sha256 = "1xqs5hpljsapgisr7q3yd8ir351196xrdrk51dsizvk4vcs85wgs";
   buildDepends = [
     attoparsec blazeBuilder blazeTextual postgresqlLibpq text time
     transformers vector
diff --git a/pkgs/development/libraries/haskell/qrencode/default.nix b/pkgs/development/libraries/haskell/qrencode/default.nix
new file mode 100644
index 00000000000..bd46bb9b415
--- /dev/null
+++ b/pkgs/development/libraries/haskell/qrencode/default.nix
@@ -0,0 +1,14 @@
+{ cabal, qrencode }:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-qrencode";
+  version = "1.0.4";
+  sha256 = "1cq6fpz4vsx1kfnxnxnqz0pi5nzfg86s76vd0hcqvyqxnqbcd8hj";
+  extraLibraries = [ qrencode ];
+  meta = {
+    homepage = "https://github.com/jamessanders/haskell-qrencode";
+    description = "Haskell bindings for libqrencode";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/random-source/default.nix b/pkgs/development/libraries/haskell/random-source/default.nix
index acc0285a59a..895a001d46f 100644
--- a/pkgs/development/libraries/haskell/random-source/default.nix
+++ b/pkgs/development/libraries/haskell/random-source/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "random-source";
-  version = "0.3.0.4";
-  sha256 = "1gvx9r6vy36lx7fy537zdbnbhpmfxz88a7gh0aiyd2vi7bvnndxy";
+  version = "0.3.0.6";
+  sha256 = "0wsv41kpswqml04ym5bq2nan4i637f7h3fmvda2zy506xwxfrpzk";
   buildDepends = [
     flexibleDefaults mersenneRandomPure64 mtl mwcRandom random stateref
     syb thExtras
diff --git a/pkgs/development/libraries/haskell/semigroupoids/default.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix
index f8b535824cf..aa7176f7e16 100644
--- a/pkgs/development/libraries/haskell/semigroupoids/default.nix
+++ b/pkgs/development/libraries/haskell/semigroupoids/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "semigroupoids";
-  version = "3.0.3";
-  sha256 = "0hxg3q4bx6lmccxx9hrgb1yvnvcgb5vcaw4xv1fgdcbrydjfgfrm";
+  version = "3.1";
+  sha256 = "02147y0nnvyc9ykvjbbxa9gzmkk9kgpsmx40ahwnjk9igjkbyp9g";
   buildDepends = [ comonad contravariant semigroups transformers ];
   meta = {
     homepage = "http://github.com/ekmett/semigroupoids";
diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
index 89a6a0970e8..df12c935d71 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.1";
-  sha256 = "1hzq7z7yhb80f4qqnjjky5kva0j1lk4jp4h50j822jyn9xn783vw";
+  version = "1.0.6.2";
+  sha256 = "1w29k0k5124vygydavb6a5szrv5a6n9qqhf1f27bkk86br55vnw6";
   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 802fc885137..917ea0c6cad 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.1.4";
-  sha256 = "05hnqpg1icf6akvchhiam8sd2xkfiyvbwq504gnys55rxgjabfy3";
+  version = "1.1.4.1";
+  sha256 = "1mvsdbc3c6vgdpdb4m8b2d28vrh79v64vb9wkpnvhfg0jn7kb5c0";
   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 d4cc135cc62..e2ff7ff27e1 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.5";
-  sha256 = "176yzx43sh0fnxpszn8kximd6i96yf2s374z55kvc1kspf7jk736";
+  version = "1.0.0.6";
+  sha256 = "1qlf51rpyzgnxdhyfs6g3vh8zq5vyq263qhm577w7rc9s4hjxk45";
   buildDepends = [ shakespeare text ];
   testDepends = [ hspec HUnit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 7bb9466864e..dc9367b4463 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "1.3.0.3";
-  sha256 = "0izfxv45b5j9p3q2nrlxdn9g4vfmzghl4ab7zisn07gx381wk9qq";
+  version = "1.3.0.7";
+  sha256 = "08ydsvgc8n0bvk5vcz3a3rpdbnranlbv8y84imkkh7i0p3nqyg2m";
   buildDepends = [
     mtl systemFileio systemFilepath text time unixCompat
   ];
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index 9e8f638c65c..b8c527daf1a 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.11";
-  sha256 = "1q9m9lxv9jfkn6a1lf07jcl4li3n5996df1qrfkfjq2n0bvn4qfj";
+  version = "0.2.12";
+  sha256 = "019n82700fbhsqxgn1cwfqii27r436gljis7yl02zjnzy7xlvrha";
   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 80cdf575d70..11ef315a523 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap";
-  version = "0.12.0";
-  sha256 = "0nccmbvhwrcfkz4771bhc210mh2ic0i93ks1752ndgk3007rkiff";
+  version = "0.12.1";
+  sha256 = "0mmmai257r3ssmy58v4c3hds0i0hwrww6r495j8yb2r90b31b1gg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -19,6 +19,7 @@ cabal.mkDerivation (self: {
     snapCore snapServer stm syb text time transformers
     unorderedContainers vector vectorAlgorithms xmlhtml
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://snapframework.com/";
     description = "Top-level package for the Snap Web Framework";
diff --git a/pkgs/development/libraries/haskell/th-orphans/default.nix b/pkgs/development/libraries/haskell/th-orphans/default.nix
index da14adfe339..8fb51c77dbf 100644
--- a/pkgs/development/libraries/haskell/th-orphans/default.nix
+++ b/pkgs/development/libraries/haskell/th-orphans/default.nix
@@ -2,10 +2,9 @@
 
 cabal.mkDerivation (self: {
   pname = "th-orphans";
-  version = "0.6";
-  sha256 = "1ablf4c8vp9kzvr75ngl5yz3ip5klk6zmq7bcqcvks758b9c6qgj";
+  version = "0.7.0.1";
+  sha256 = "19lfq2m7c6n2z8gz4n57wc92x5x5rkgv4chbfq7w4n531qya4bgr";
   buildDepends = [ thLift ];
-  noHaddock = true;
   meta = {
     description = "Orphan instances for TH datatypes";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/threadmanager/default.nix b/pkgs/development/libraries/haskell/threadmanager/default.nix
index 4641ec80f23..e4a82835c55 100644
--- a/pkgs/development/libraries/haskell/threadmanager/default.nix
+++ b/pkgs/development/libraries/haskell/threadmanager/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threadmanager";
-  version = "0.1.6";
-  sha256 = "16q09kx3rfjaa3rvyfwrxpsnvw50r3q8pk1if6xm0v4ya3lbvibs";
+  version = "0.1.7";
+  sha256 = "17s26hlailbr8c9d3dv1pwiy81m3nzr3sw0v9y716rmhldf7k09f";
   meta = {
     description = "(deprecated in favor of 'threads') Simple thread management";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/transformers-compat/default.nix b/pkgs/development/libraries/haskell/transformers-compat/default.nix
index f3120a61f20..2abd6efa0ce 100644
--- a/pkgs/development/libraries/haskell/transformers-compat/default.nix
+++ b/pkgs/development/libraries/haskell/transformers-compat/default.nix
@@ -5,7 +5,6 @@ cabal.mkDerivation (self: {
   version = "0.1.1.1";
   sha256 = "0i0bcfmqsnqa8fyp81virr5bh3hk23261xyx28jcfamrc18ly9ij";
   buildDepends = [ transformers ];
-  noHaddock = true;
   meta = {
     homepage = "http://github.com/ekmett/transformers-compat/";
     description = "A small compatibility shim exposing the new types from transformers 0.3 to older Haskell platforms.";
diff --git a/pkgs/development/libraries/haskell/unbound/default.nix b/pkgs/development/libraries/haskell/unbound/default.nix
index a90381202e1..df57bbbdac7 100644
--- a/pkgs/development/libraries/haskell/unbound/default.nix
+++ b/pkgs/development/libraries/haskell/unbound/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unbound";
-  version = "0.4.1.1";
-  sha256 = "0niv8mm4zjkndj0g32dgr32177dfp647hi32hqzwiis77vcfvdzb";
+  version = "0.4.2";
+  sha256 = "1bnnnv4rmzb0pw7i56nzr7k7pahr9rcmlfi4xkpsjhrxmizcfml9";
   buildDepends = [ mtl RepLib transformers ];
   meta = {
     homepage = "http://code.google.com/p/replib/";
diff --git a/pkgs/development/libraries/haskell/unix-process-conduit/default.nix b/pkgs/development/libraries/haskell/unix-process-conduit/default.nix
index 6ee4304ac17..d12167ac428 100644
--- a/pkgs/development/libraries/haskell/unix-process-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/unix-process-conduit/default.nix
@@ -1,10 +1,10 @@
-{ cabal, conduit, hspec, transformers }:
+{ cabal, conduit, filepath, hspec, stm, time, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "unix-process-conduit";
-  version = "0.2.0.2";
-  sha256 = "1n9ja7dlxhsxyglfzk397xdgvdny766y1isrb5d065srxprsj2g6";
-  buildDepends = [ conduit transformers ];
+  version = "0.2.1.1";
+  sha256 = "038z99gzwqhig65zzb3hc9zisnvzslvvy86wjgx6wz90p6vbxzn4";
+  buildDepends = [ conduit filepath stm time transformers ];
   testDepends = [ conduit hspec transformers ];
   meta = {
     homepage = "https://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/unix-time/default.nix b/pkgs/development/libraries/haskell/unix-time/default.nix
index c3e5ca14b23..691787e7f87 100644
--- a/pkgs/development/libraries/haskell/unix-time/default.nix
+++ b/pkgs/development/libraries/haskell/unix-time/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unix-time";
-  version = "0.1.9";
-  sha256 = "0z4761g7rkw771r9828h1l37pp3brrra9ihjg203h66jc1wlvb72";
+  version = "0.1.10";
+  sha256 = "0z8i02j295fi0y512bwhxfk2dr2s4i0xlgi80pnq680zdrahgwlf";
   testDepends = [ doctest hspec QuickCheck time ];
   meta = {
     description = "Unix time parser/formatter and utilities";
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index b586a6336bc..98166f80d31 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.1.0.3";
-  sha256 = "04mnn6j9bbkhvav04gl9cbd4rldl7bwgcapvykwvf2p3nb3d7bi4";
+  version = "1.1.0.5";
+  sha256 = "1ryiacx42hdh564zy6dj5vxxl2l8flfffmdw8shb32w3gp11fzmp";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
     blazeHtml blazeMarkup conduit dataDefault failure monadControl
diff --git a/pkgs/development/libraries/haskell/xml-types/default.nix b/pkgs/development/libraries/haskell/xml-types/default.nix
index 48bd32b7c89..94a7d3f7dff 100644
--- a/pkgs/development/libraries/haskell/xml-types/default.nix
+++ b/pkgs/development/libraries/haskell/xml-types/default.nix
@@ -1,10 +1,10 @@
-{ cabal, text }:
+{ cabal, deepseq, text }:
 
 cabal.mkDerivation (self: {
   pname = "xml-types";
-  version = "0.3.3";
-  sha256 = "0jvchgzmqsnc0dax73nh7wa7x6n07qnl4wr1d58v21rlbqcklgcn";
-  buildDepends = [ text ];
+  version = "0.3.4";
+  sha256 = "1689ijr4xxh4shxxvd51wdkpc535kzv6liqg4m1prag96aq05r8y";
+  buildDepends = [ deepseq text ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-xml/";
     description = "Basic types for representing XML";
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 1324a2137b1..ee8b28b94cb 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.3";
-  sha256 = "1lbf0dgc3qvcdiyzk8zkpkga7f7g4i2rxriwdvwbxx199xr4apx3";
+  version = "0.8.4";
+  sha256 = "0kdqhdiyy2mqc3rb3l7aaspalkj4z8jndyzhij8m06n43hfzbhhi";
   buildDepends = [
     aeson attoparsec conduit resourcet text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index 22f1c583011..3327dc1c08c 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.2.0.1";
-  sha256 = "02nljkc12mgjhvkiv876w6w13q9s9iigya8v4jzj6myv48lainvd";
+  version = "1.2.0.2";
+  sha256 = "1vimv1zcpq167nd8fa3y0mrrwh1hqh2rqwmz5mg9zvqzz95wvhmh";
   buildDepends = [
     aeson authenticate blazeHtml blazeMarkup dataDefault emailValidate
     fileEmbed hamlet httpConduit httpTypes liftedBase mimeMail network
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index 1a88ccfd223..a7925e82b10 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.1";
-  sha256 = "0qag1phagcdn1zq3kgxbxynqdy5grj8icifz896v0n6bzjsn102b";
+  version = "1.2.2";
+  sha256 = "03c53kgiqmjjihszmvqjgkcklq28mvyn4m2lhcbmqqzkkzyjb0rj";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-platform/default.nix b/pkgs/development/libraries/haskell/yesod-platform/default.nix
index fbec41ce124..3d900d94cda 100644
--- a/pkgs/development/libraries/haskell/yesod-platform/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-platform/default.nix
@@ -1,21 +1,22 @@
 { cabal, aeson, ansiTerminal, asn1Data, asn1Types, attoparsec
 , attoparsecConduit, authenticate, base64Bytestring
 , baseUnicodeSymbols, blazeBuilder, blazeBuilderConduit, blazeHtml
-, blazeMarkup, byteorder, caseInsensitive, cereal, certificate
-, cipherAes, cipherRc4, clientsession, conduit, cookie, cprngAes
-, cryptoApi, cryptoConduit, cryptohash, cryptoNumbers, cryptoPubkey
-, cryptoPubkeyTypes, cryptoRandomApi, cssText, dataDefault
-, dataDefaultClass, dataDefaultInstancesBase
+, blazeMarkup, byteable, byteorder, caseInsensitive, cereal
+, certificate, cipherAes, cipherRc4, clientsession, conduit, cookie
+, cprngAes, cryptoApi, cryptoConduit, cryptohash, cryptoNumbers
+, cryptoPubkey, cryptoPubkeyTypes, cryptoRandomApi, cssText
+, dataDefault, dataDefaultClass, dataDefaultInstancesBase
 , dataDefaultInstancesContainers, dataDefaultInstancesDlist
 , dataDefaultInstancesOldLocale, dateCache, dlist, emailValidate
 , entropy, failure, fastLogger, fileEmbed, filesystemConduit
-, hamlet, hashable, hjsmin, hspec, hspecExpectations, htmlConduit
-, httpConduit, httpDate, httpTypes, languageJavascript, liftedBase
-, mimeMail, mimeTypes, mmorph, monadControl, monadLogger
-, networkConduit, pathPieces, pem, persistent, persistentTemplate
-, poolConduit, primitive, publicsuffixlist, pureMD5, pwstoreFast
-, quickcheckIo, resourcePool, resourcet, safe, semigroups, setenv
-, SHA, shakespeare, shakespeareCss, shakespeareI18n, shakespeareJs
+, hamlet, hjsmin, hspec, hspecExpectations, htmlConduit
+, httpAttoparsec, httpConduit, httpDate, httpTypes
+, languageJavascript, liftedBase, mimeMail, mimeTypes, mmorph
+, monadControl, monadLogger, networkConduit, pathPieces, pem
+, persistent, persistentTemplate, poolConduit, primitive
+, publicsuffixlist, pureMD5, pwstoreFast, quickcheckIo
+, resourcePool, resourcet, safe, semigroups, setenv, SHA
+, shakespeare, shakespeareCss, shakespeareI18n, shakespeareJs
 , shakespeareText, silently, simpleSendfile, skein, socks
 , stringsearch, systemFileio, systemFilepath, tagged, tagsoup
 , tagstreamConduit, tls, tlsExtra, transformersBase, unixCompat
@@ -28,25 +29,26 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-platform";
-  version = "1.2.1";
-  sha256 = "1wa1g37ipigscv8xwb5zyfawjw0fxqmwr2l6wdf507r0kvclk2ap";
+  version = "1.2.3";
+  sha256 = "16hp64gqgvpmlrwg6h8ldakw2n3x985cnv4pzmv9akjq27jq8rjl";
   buildDepends = [
     aeson ansiTerminal asn1Data asn1Types attoparsec attoparsecConduit
     authenticate base64Bytestring baseUnicodeSymbols blazeBuilder
-    blazeBuilderConduit blazeHtml blazeMarkup byteorder caseInsensitive
-    cereal certificate cipherAes cipherRc4 clientsession conduit cookie
-    cprngAes cryptoApi cryptoConduit cryptohash cryptoNumbers
-    cryptoPubkey cryptoPubkeyTypes cryptoRandomApi cssText dataDefault
-    dataDefaultClass dataDefaultInstancesBase
-    dataDefaultInstancesContainers dataDefaultInstancesDlist
-    dataDefaultInstancesOldLocale dateCache dlist emailValidate entropy
-    failure fastLogger fileEmbed filesystemConduit hamlet hashable
-    hjsmin hspec hspecExpectations htmlConduit httpConduit httpDate
-    httpTypes languageJavascript liftedBase mimeMail mimeTypes mmorph
-    monadControl monadLogger networkConduit pathPieces pem persistent
-    persistentTemplate poolConduit primitive publicsuffixlist pureMD5
-    pwstoreFast quickcheckIo resourcePool resourcet safe semigroups
-    setenv SHA shakespeare shakespeareCss shakespeareI18n shakespeareJs
+    blazeBuilderConduit blazeHtml blazeMarkup byteable byteorder
+    caseInsensitive cereal certificate cipherAes cipherRc4
+    clientsession conduit cookie cprngAes cryptoApi cryptoConduit
+    cryptohash cryptoNumbers cryptoPubkey cryptoPubkeyTypes
+    cryptoRandomApi cssText dataDefault dataDefaultClass
+    dataDefaultInstancesBase dataDefaultInstancesContainers
+    dataDefaultInstancesDlist dataDefaultInstancesOldLocale dateCache
+    dlist emailValidate entropy failure fastLogger fileEmbed
+    filesystemConduit hamlet hjsmin hspec hspecExpectations htmlConduit
+    httpAttoparsec httpConduit httpDate httpTypes languageJavascript
+    liftedBase mimeMail mimeTypes mmorph monadControl monadLogger
+    networkConduit pathPieces pem persistent persistentTemplate
+    poolConduit primitive publicsuffixlist pureMD5 pwstoreFast
+    quickcheckIo resourcePool resourcet safe semigroups setenv SHA
+    shakespeare shakespeareCss shakespeareI18n shakespeareJs
     shakespeareText silently simpleSendfile skein socks stringsearch
     systemFileio systemFilepath tagged tagsoup tagstreamConduit tls
     tlsExtra transformersBase unixCompat unorderedContainers utf8Light
diff --git a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
index 3711c66b8ca..1240d4390a6 100644
--- a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zeromq3-haskell";
-  version = "0.4";
-  sha256 = "0kwf4bzqp02vk78c9rphyamwbmvzff1z9hqp70dhfggm0q2d655s";
+  version = "0.5";
+  sha256 = "16qh3q5rshaxzl79aiivrysl3dhilnd2mw2p45ifgbgv87m277gq";
   buildDepends = [
     async MonadCatchIOTransformers semigroups transformers
   ];
diff --git a/pkgs/development/libraries/ilmbase/default.nix b/pkgs/development/libraries/ilmbase/default.nix
index 2b7952d3b20..3c9ad9cfc33 100644
--- a/pkgs/development/libraries/ilmbase/default.nix
+++ b/pkgs/development/libraries/ilmbase/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "ilmbase-1.0.1";
   
   src = fetchurl {
-    url = http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz;
+    url = mirror://savannah/openexr/ilmbase-1.0.1.tar.gz;
     sha256 = "0z9r3r0bxyhgwhkdwln0dg1lnxz691qnjygrqlg3jym34rxzq52g";
   };
 }
diff --git a/pkgs/development/libraries/java/junit/default.nix b/pkgs/development/libraries/java/junit/default.nix
index ea9b1029efc..7a6db1ad4b3 100644
--- a/pkgs/development/libraries/java/junit/default.nix
+++ b/pkgs/development/libraries/java/junit/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://github.com/downloads/KentBeck/junit/junit4.8.2.zip;
+    url = https://github.com/downloads/junit-team/junit/junit4.8.2.zip;
     sha256 = "01simvc3pmgp27p7vzavmsx5rphm6hqzwrqfkwllhf3812dcqxy6";
   };
 
diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix
index feeed3c14a6..21b4eac30af 100644
--- a/pkgs/development/libraries/lesstif/default.nix
+++ b/pkgs/development/libraries/lesstif/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, x11, libXp, libXau}:
 
 stdenv.mkDerivation {
-  name = "lesstif-0.95-p2";
+  name = "lesstif-0.95.0-p2";
   src = fetchurl {
     url = mirror://sourceforge/lesstif/lesstif-0.95.0.tar.bz2;
     md5 = "ab895165c149d7f95843c7584b1c7ad4";
diff --git a/pkgs/development/libraries/libchamplain/0.6.nix b/pkgs/development/libraries/libchamplain/0.6.nix
index 86b8dc5d550..5ec324131e3 100644
--- a/pkgs/development/libraries/libchamplain/0.6.nix
+++ b/pkgs/development/libraries/libchamplain/0.6.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "libchamplain-0.6.1";
 
   src = fetchurl {
-    url = "http://download.gnome.org/sources/libchamplain/0.6/${name}.tar.gz";
+    url = "mirror://gnome/sources/libchamplain/0.6/${name}.tar.gz";
     sha256 = "1l1in4khnral157j46aq2d26nviz23icnm353587vcwjhdbw86sg";
   };
 
diff --git a/pkgs/development/libraries/libcm/default.nix b/pkgs/development/libraries/libcm/default.nix
index 197a1e7fc97..09ef21dff59 100644
--- a/pkgs/development/libraries/libcm/default.nix
+++ b/pkgs/development/libraries/libcm/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "libcm-0.1.1";
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/GNOME/sources/libcm/0.1/libcm-0.1.1.tar.bz2;
+    url = mirror://gnome/sources/libcm/0.1/libcm-0.1.1.tar.bz2;
     sha256 = "11i5z8l5v5ffihif35k5j8igj0rahsk4jdmsj24xhdw2s0zx53kn";
   };
   buildInputs = [
diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix
index b2987689be7..a2a8403b498 100644
--- a/pkgs/development/libraries/libevent/default.nix
+++ b/pkgs/development/libraries/libevent/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl}:
 
-let version = "2.0.17"; in
+let version = "2.0.21"; in
 stdenv.mkDerivation {
   name = "libevent-${version}";
 
   src = fetchurl {
     url = "https://github.com/downloads/libevent/libevent/libevent-${version}-stable.tar.gz";
-    sha256 = "51735d1241f9f6d2d6465d8abc76f7511764f6de7d81026120c629612296faa6";
+    sha256 = "1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libgeotiff/default.nix b/pkgs/development/libraries/libgeotiff/default.nix
index 920f40abd5a..07e8d2869ce 100644
--- a/pkgs/development/libraries/libgeotiff/default.nix
+++ b/pkgs/development/libraries/libgeotiff/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, libtiff }:
 
 stdenv.mkDerivation {
-  name = "libgeotiff-1.2.4";
+  name = "libgeotiff-1.2.5";
 
   src = fetchurl {
     url = ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/libgeotiff-1.2.5.tar.gz;
diff --git a/pkgs/development/libraries/libmad/default.nix b/pkgs/development/libraries/libmad/default.nix
index 6e2e2c949cc..883ad072c7b 100644
--- a/pkgs/development/libraries/libmad/default.nix
+++ b/pkgs/development/libraries/libmad/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, autoconf}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "libmad-0.15.1b";
   
   src = fetchurl {
-    url = mirror://sourceforge/mad/libmad-0.15.1b.tar.gz;
+    url = "mirror://sourceforge/mad/${name}.tar.gz";
     sha256 = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690";
   };
 
@@ -16,10 +16,13 @@ stdenv.mkDerivation {
   preConfigure = ''
     autoconf
     substituteInPlace configure --replace "-fforce-mem" ""
+    substituteInPlace configure --replace "arch=\"-march=i486\"" ""
   '';
 
-  meta = {
-    homepage = http://sourceforge.net/projects/mad/;
+  meta = with stdenv.lib; {
+    homepage    = http://sourceforge.net/projects/mad/;
     description = "A high-quality, fixed-point MPEG audio decoder supporting MPEG-1 and MPEG-2";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
index cde3aecce07..8ef95650ce6 100644
--- a/pkgs/development/libraries/libmikmod/default.nix
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -6,15 +6,17 @@ stdenv.mkDerivation rec {
     sha256 = "07k6iyx6pyzisncgdkd071w2dhm3rx6l34hbja3wbc7rpf888k3k";
   };
   buildInputs = [ texinfo ];
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "A library for playing tracker music module files";
+    homepage    = http://mikmod.shlomifish.org/;
+    license     = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ astsmtl lovek323 ];
+    platforms   = platforms.unix;
+
     longDescription = ''
       A library for playing tracker music module files supporting many formats,
       including MOD, S3M, IT and XM.
     '';
-    homepage = http://mikmod.shlomifish.org/;
-    license = "LGPLv2+";
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/libmrss/default.nix b/pkgs/development/libraries/libmrss/default.nix
index 395b254d34d..b1f7b0071c8 100644
--- a/pkgs/development/libraries/libmrss/default.nix
+++ b/pkgs/development/libraries/libmrss/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, curl, libnxml, pkgconfig}:
 
 stdenv.mkDerivation {
-  name = "libmrss-1.0";
+  name = "libmrss-0.19.2";
 
   src = fetchurl {
     url = "http://www.autistici.org/bakunin/libmrss/libmrss-0.19.2.tar.gz";
diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix
index 17f06e46711..57eaf529a63 100644
--- a/pkgs/development/libraries/libsamplerate/default.nix
+++ b/pkgs/development/libraries/libsamplerate/default.nix
@@ -15,14 +15,19 @@ stdenv.mkDerivation rec {
   #--disable-fftw          disable usage of FFTW
   #--disable-cpu-clip      disable tricky cpu specific clipper
 
-  meta = {
+  # need headers from the Carbon.framework in /System/Library/Frameworks to
+  # compile this on darwin -- not sure how to handle
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin
+    "-I/System/Library/Frameworks/Carbon.framework/Versions/A/Headers";
+
+  meta = with stdenv.lib; {
     description = "Sample Rate Converter for audio";
-    homepage = http://www.mega-nerd.com/SRC/index.html;
+    homepage    = http://www.mega-nerd.com/SRC/index.html;
     # you can choose one of the following licenses:
-    license = [
-      "GPL"
-      # http://www.mega-nerd.com/SRC/libsamplerate-cul.pdf
-      "libsamplerate Commercial Use License"
-    ];
+    # GPL or a commercial-use license (available at
+    # http://www.mega-nerd.com/SRC/libsamplerate-cul.pdf)
+    licenses    = with licenses; [ gpl3.shortName unfree ];
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libsigcxx/1.2.nix b/pkgs/development/libraries/libsigcxx/1.2.nix
index 6436a88bdc8..29a7093dbbd 100644
--- a/pkgs/development/libraries/libsigcxx/1.2.nix
+++ b/pkgs/development/libraries/libsigcxx/1.2.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libsigc++-1.2.7";
   
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/1.2/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libsigc++/1.2/${name}.tar.bz2";
     sha256 = "099224v5y0y1ggqrfc8vga8afr3nb93iicn7cj8xxgsrwa83s5nr";
   };
 
diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix
index f8fdb4c28c2..b1e4f31c567 100644
--- a/pkgs/development/libraries/libsigcxx/default.nix
+++ b/pkgs/development/libraries/libsigcxx/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libsigc++-2.2.10";
 
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/${name}.tar.xz";
+    url = "mirror://gnome/sources/libsigc++/2.2/${name}.tar.xz";
     sha256 = "8ceb6f2732f5399ef50d5b70f433d49945a12e0900b8f9f43c135866a2e5bf47";
   };
 
diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix
index d9b4afbf0ff..7cf9cbca51f 100644
--- a/pkgs/development/libraries/libsndfile/default.nix
+++ b/pkgs/development/libraries/libsndfile/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, flac, libogg, libvorbis, pkgconfig }:
+{ stdenv, fetchurl, flac, libogg, libvorbis, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "libsndfile-1.0.23";
@@ -8,35 +8,38 @@ stdenv.mkDerivation rec {
     sha256 = "0k9x4804gfh9d9zd4rm1v2izm8l716rzk4d6jlrjcf45b5sw7jal";
   };
 
-  buildInputs = [pkgconfig flac libogg libvorbis];
-
-  meta = {
-    description = "Libsndfile, a C library for reading and writing files containing sampled sound";
-
-    longDescription =
-      '' Libsndfile is a C library for reading and writing files containing
-         sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format)
-         through one standard library interface.  It is released in source
-         code format under the GNU Lesser General Public License.
-
-         The library was written to compile and run on a Linux system but
-         should compile and run on just about any Unix (including MacOS X).
-         There are also pre-compiled binaries available for 32 and 64 bit
-         windows.
-
-         It was designed to handle both little-endian (such as WAV) and
-         big-endian (such as AIFF) data, and to compile and run correctly on
-         little-endian (such as Intel and DEC/Compaq Alpha) processor systems
-         as well as big-endian processor systems such as Motorola 68k, Power
-         PC, MIPS and SPARC.  Hopefully the design of the library will also
-         make it easy to extend for reading and writing new sound file
-         formats.
-       '';
-
-    homepage = http://www.mega-nerd.com/libsndfile/;
-
-    license = "LGPLv2+";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+  buildInputs = [ pkgconfig flac libogg libvorbis ];
+
+  # need headers from the Carbon.framework in /System/Library/Frameworks to
+  # compile this on darwin -- not sure how to handle
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin
+    "-I/System/Library/Frameworks/Carbon.framework/Versions/A/Headers";
+
+  meta = with stdenv.lib; {
+    description = "A C library for reading and writing files containing sampled sound";
+    homepage    = http://www.mega-nerd.com/libsndfile/;
+    license     = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ lovek323 ludo ];
+    platfomrs   = platforms.unix;
+
+    longDescription = ''
+      Libsndfile is a C library for reading and writing files containing
+      sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format)
+      through one standard library interface.  It is released in source
+      code format under the GNU Lesser General Public License.
+
+      The library was written to compile and run on a Linux system but
+      should compile and run on just about any Unix (including MacOS X).
+      There are also pre-compiled binaries available for 32 and 64 bit
+      windows.
+
+      It was designed to handle both little-endian (such as WAV) and
+      big-endian (such as AIFF) data, and to compile and run correctly on
+      little-endian (such as Intel and DEC/Compaq Alpha) processor systems
+      as well as big-endian processor systems such as Motorola 68k, Power
+      PC, MIPS and SPARC.  Hopefully the design of the library will also
+      make it easy to extend for reading and writing new sound file
+      formats.
+    '';
   };
 }
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 08784a0f257..a5ce0fda270 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, glib, libxml2, pkgconfig
-, gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking }:
+, gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking
+, libintlOrEmpty }:
 
 stdenv.mkDerivation {
   name = "libsoup-2.38.1";
@@ -10,6 +11,7 @@ stdenv.mkDerivation {
   };
 
 
+  buildInputs = libintlOrEmpty;
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib libxml2 ]
     ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring sqlite ];
@@ -18,6 +20,8 @@ stdenv.mkDerivation {
   # glib_networking is a runtime dependency, not a compile-time dependency
   configureFlags = "--disable-tls-check";
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
   meta = {
     inherit (glib.meta) maintainers platforms;
   };
diff --git a/pkgs/development/libraries/libspatialindex/default.nix b/pkgs/development/libraries/libspatialindex/default.nix
new file mode 100644
index 00000000000..c48c5265fc4
--- /dev/null
+++ b/pkgs/development/libraries/libspatialindex/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+let version = "1.8.1"; in
+
+stdenv.mkDerivation rec {
+  name = "libspatialindex-${version}";
+
+  src = fetchurl {
+    url = "http://download.osgeo.org/libspatialindex/spatialindex-src-${version}.tar.gz";
+    sha256 = "1ay1kxn4baccd0cqx466v7fn8c8gcfbhlnd5mbdnd7s4aw0ix88j";
+  };
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Extensible spatial index library in C++";
+    homepage = http://libspatialindex.github.io/;
+    license = "MIT";
+  };
+}
diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix
new file mode 100644
index 00000000000..d5b401b804f
--- /dev/null
+++ b/pkgs/development/libraries/libspatialite/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, sqlite, zlib, proj, geos }:
+
+stdenv.mkDerivation rec {
+  name = "libspatialite-4.1.1";
+
+  src = fetchurl {
+    url = "http://www.gaia-gis.it/gaia-sins/${name}.tar.gz";
+    sha256 = "03wikddl60ly0yh8szrra1ng2iccsdzz645vkn6a7x2jz45a5084";
+  };
+
+  buildInputs = [ sqlite zlib proj geos ];
+
+  configureFlags = "--disable-freexl";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Extensible spatial index library in C++";
+    homepage = https://www.gaia-gis.it/fossil/libspatialite;
+    # They allow any of these
+    license = [ "GPLv2+" "LGPLv2+" "MPL1.1" ];
+  };
+}
diff --git a/pkgs/development/libraries/libspotify/default.nix b/pkgs/development/libraries/libspotify/default.nix
index 86007920d0e..000112008a3 100644
--- a/pkgs/development/libraries/libspotify/default.nix
+++ b/pkgs/development/libraries/libspotify/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, libspotify, alsaLib, readline, pkgconfig, apiKey, unzip }:
+{ stdenv, fetchurl, libspotify, alsaLib, readline, pkgconfig, apiKey, unzip, gnused }:
 
 let version = "12.1.51"; in
 
-if (stdenv.system == "x86_64-linux" && stdenv.system != "x86_64-darwin")
+if (stdenv.system != "x86_64-linux" && stdenv.system != "x86_64-darwin")
 then throw "Check https://developer.spotify.com/technologies/libspotify/ for a tarball for your system and add it here"
 else stdenv.mkDerivation {
   name = "libspotify-${version}";
@@ -24,9 +24,10 @@ else stdenv.mkDerivation {
   # common
   buildPhase = "true";
   # no patch or build phase for darwin
-  phases = [ "unpackPhase" "installPhase" ]
-    ++ stdenv.lib.optionals (stdenv.system == "x86_64-linux")
-      [ "patchPhase" "buildPhase" ];
+  phases = 
+    [ "unpackPhase" ] ++ 
+    (stdenv.lib.optionals (stdenv.system == "x86_64-linux") [ "patchPhase" "buildPhase" ]) ++
+    [ "installPhase" ];
   installPhase = if (stdenv.system == "x86_64-linux")
     then "installPhase"
     else ''
@@ -48,7 +49,7 @@ else stdenv.mkDerivation {
   installFlags = stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
     "prefix=$(out)";
   patchPhase = stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
-    "sed -i 's/ldconfig//' Makefile";
+    "${gnused}/bin/sed -i 's/ldconfig//' Makefile";
   postInstall = stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
     "mv -v share $out";
 
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index 49e23017369..5c3670e2365 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libunwind-1.0.1";
   
   src = fetchurl {
-    url = "http://download.savannah.nongnu.org/releases/libunwind/${name}.tar.gz";
+    url = "mirror://savannah/libunwind/${name}.tar.gz";
     sha256 = "aa95fd184c0b90d95891c2f3bac2c7df708ff016d2a6ee8b2eabb769f864101f";
   };
   
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index 15810624705..835e2711a77 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
   buildInputs = with xlibs; [ pkgconfig dri2proto libXext ];
 
   propagatedBuildInputs = [ xlibs.libX11 ];
+  
+  configureFlags = stdenv.lib.optional stdenv.isDarwin [ "--build=x86_64" ];
 
   meta = {
     homepage = http://people.freedesktop.org/~aplattner/vdpau/;
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 6a6b693cbbe..e1e4a759e06 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
-, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext 
-, libtasn1, ebtables, libgcrypt, yajl
+, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
+, libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils
 }:
 
-let version = "1.0.3"; in
+let version = "1.1.0"; in
 
 stdenv.mkDerivation {
   name = "libvirt-${version}";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
-    sha256 = "0mr727n0ygxk6y69srg3ahmjd7wligamw683x2snmz6wgk6llkzn";
+    sha256 = "0a39cwvzwf79gv3zw5mwp9q9n792rr1m0rl9ji39bdgcjxb7d7nf";
   };
 
   buildInputs =
     [ pkgconfig libxml2 gnutls devicemapper perl python readline lvm2
-      utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl
+      utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper
     ];
 
   preConfigure =
@@ -32,6 +32,8 @@ stdenv.mkDerivation {
     ''
       substituteInPlace $out/libexec/libvirt-guests.sh \
         --replace "$out/bin" "${gettext}/bin"
+      wrapProgram $out/sbin/libvirtd \
+        --prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin
     '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix
index 65a8880fc9d..7856183e5e9 100644
--- a/pkgs/development/libraries/libvncserver/default.nix
+++ b/pkgs/development/libraries/libvncserver/default.nix
@@ -12,7 +12,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/libvncserver/LibVNCServer-${version}.tar.gz";
+    url = "mirror://sourceforge/libvncserver/LibVNCServer-${version}.tar.gz";
     sha256 = "1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng";
   };
 
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index 494a5c36a3c..46e73a121fe 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -21,27 +21,26 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     mkdir -p build
     cd build
+    substituteInPlace make/configure.sh --replace "-arch x86_64" "-march=x86-64"
   '';
 
   configureScript = "../configure";
-  configureFlags = [
-    "--disable-install-srcs"
-    "--disable-install-docs"
-    "--disable-examples"
-    "--enable-vp8"
-    "--enable-runtime-cpu-detect"
-    "--enable-shared"
-    "--enable-pic"
-  ];
+  configureFlags =
+    [ "--disable-install-srcs" "--disable-install-docs" "--disable-examples"
+      "--enable-vp8" "--enable-runtime-cpu-detect" "--enable-pic" ]
+    # --enable-shared is only supported on ELF
+    ++ stdenv.lib.optional (!stdenv.isDarwin) "--enable-shared";
 
   installPhase = ''
     make quiet=false DIST_DIR=$out install
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "VP8 video encoder";
-    homepage = http://code.google.com/p/webm;
-    license = "BSD";
+    homepage    = http://code.google.com/p/webm;
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
   };
 }
 
diff --git a/pkgs/development/libraries/libxtc_dxtn/default.nix b/pkgs/development/libraries/libxtc_dxtn/default.nix
index a23d74a2be8..1f94bcbef99 100644
--- a/pkgs/development/libraries/libxtc_dxtn/default.nix
+++ b/pkgs/development/libraries/libxtc_dxtn/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libtxc_dxtn-1.0.1";
 
   src = fetchurl {
-    url = "people.freedesktop.org/~cbrill/libtxc_dxtn/${name}.tar.bz2";
+    url = "http://people.freedesktop.org/~cbrill/libtxc_dxtn/${name}.tar.bz2";
     sha256 = "0q5fjaknl7s0z206dd8nzk9bdh8g4p23bz7784zrllnarl90saa5";
   };
 
diff --git a/pkgs/development/libraries/minmay/default.nix b/pkgs/development/libraries/minmay/default.nix
new file mode 100644
index 00000000000..4518b4dd760
--- /dev/null
+++ b/pkgs/development/libraries/minmay/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, cmake, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "minmay-${version}";
+  version = "1.0.0";
+
+  src = fetchurl {
+    url = "https://github.com/mazhe/minmay/archive/1.0.0.tar.gz";
+    sha256 = "1amycxvhbd0lv6j5zsvxiwrx29jvndcy856j3b3bisys24h95zw2";
+  };
+
+  buildInputs = [ cmake openssl ];
+
+  meta = {
+    homepage = "https://github.com/mazhe/minmay";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    description = "An XMPP library (forked from the iksemel project)";
+  };
+}
diff --git a/pkgs/development/libraries/ode/default.nix b/pkgs/development/libraries/ode/default.nix
index 31b2aa7dad9..e7368e4f60b 100644
--- a/pkgs/development/libraries/ode/default.nix
+++ b/pkgs/development/libraries/ode/default.nix
@@ -10,7 +10,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/opende/ode-${version}.tar.bz2";
+    url = "mirror://sourceforge/opende/ode-${version}.tar.bz2";
     sha256 = "1883gbsnn7zldrpwfdh6kwj20g627n5bspz3yb2z6lrxdal88y47";
   };
 
diff --git a/pkgs/development/libraries/openal/default.nix b/pkgs/development/libraries/openal/default.nix
index 2c23e51c22a..75d6033e1cc 100644
--- a/pkgs/development/libraries/openal/default.nix
+++ b/pkgs/development/libraries/openal/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     name = "openal-soft-${version}.tar.bz2";
   };
 
-  buildInputs = [ cmake alsaLib ];
+  buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
 
   meta = {
     description = "OpenAL, a cross-platform 3D audio API";
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index 33397e8b98e..b54375ae062 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "openexr-1.7.1";
   
   src = fetchurl {
-    url = "http://download.savannah.nongnu.org/releases/openexr/${name}.tar.gz";
+    url = "mirror://savannah/openexr/${name}.tar.gz";
     sha256 = "0l2rdbx9lg4qk2ms98hwbsnzpggdrx3pbjl6pcvrrpjqp5m905n6";
   };
   
diff --git a/pkgs/development/libraries/openexr_ctl/default.nix b/pkgs/development/libraries/openexr_ctl/default.nix
index 1b15fdb6c9e..cd26aae660c 100644
--- a/pkgs/development/libraries/openexr_ctl/default.nix
+++ b/pkgs/development/libraries/openexr_ctl/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "openexr_ctl-1.0.1";
 
   src = fetchurl {
-    url = http://kent.dl.sourceforge.net/sourceforge/ampasctl/openexr_ctl-1.0.1.tar.gz;
+    url = mirror://sourceforge/ampasctl/openexr_ctl-1.0.1.tar.gz;
     sha256 = "1jg9smpaplal8l14djp184wzk11nwd3dvm4lhkp69kjgw8jdd21d";
   };
 
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 1d5a0961340..60b9c7738a0 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssl, cyrus_sasl, db4, groff}:
 
 stdenv.mkDerivation rec {
-  name = "openldap-2.4.34";
+  name = "openldap-2.4.35";
 
   src = fetchurl {
     url = "ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/${name}.tgz";
-    sha256 = "01h6zq6zki9b1k07pbyps5vxj9w39ybzjvkyz5h9xk09dd54raza";
+    sha256 = "1swy3rly6y0asikp862sigmab8gcll6scb65ln10vps7q5s0640n";
   };
 
   buildInputs = [ openssl cyrus_sasl db4 groff ];
diff --git a/pkgs/development/libraries/pangomm/2.28.x.nix b/pkgs/development/libraries/pangomm/2.28.x.nix
index 7f4d14dfbac..d03aa4311fe 100644
--- a/pkgs/development/libraries/pangomm/2.28.x.nix
+++ b/pkgs/development/libraries/pangomm/2.28.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, pango, glibmm, cairomm, libpng }:
+{ stdenv, fetchurl, pkgconfig, pango, glibmm, cairomm, libpng, cairo }:
 
 stdenv.mkDerivation rec {
   name = "pangomm-2.28.4";
@@ -9,10 +9,16 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ pango glibmm cairomm libpng ];
+  propagatedBuildInputs = [ pango glibmm cairomm libpng cairo ];
 
-  meta = {
+  NIX_CFLAGS_COMPILE = "-I${cairo}/include/cairo";
+
+  meta = with stdenv.lib; {
     description = "C++ interface to the Pango text rendering library";
+    homepage    = http://www.pango.org/;
+    license     = with licenses; [ lgpl2 lgpl21 ];
+    maintainers = with maintainers; [ lovek323 raskin ];
+    platforms   = platforms.unix;
 
     longDescription = ''
       Pango is a library for laying out and rendering of text, with an
@@ -21,11 +27,5 @@ stdenv.mkDerivation rec {
       far has been done in the context of the GTK+ widget toolkit.
       Pango forms the core of text and font handling for GTK+-2.x.
     '';
-
-    homepage = http://www.pango.org/;
-    license = "LGPLv2+";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index b797f631b8e..29116d0eb11 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -147,10 +147,10 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = http://qt-project.org/;
+    homepage    = http://qt-project.org/;
     description = "A cross-platform application framework for C++";
-    license = "GPL/LGPL";
-    maintainers = with maintainers; [ urkud sander phreedom ];
-    platforms = platforms.all;
+    license     = "GPL/LGPL";
+    maintainers = with maintainers; [ lovek323 phreedom sander urkud ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/soprano/default.nix b/pkgs/development/libraries/soprano/default.nix
index 8ca16ff72c7..1447dd5346a 100644
--- a/pkgs/development/libraries/soprano/default.nix
+++ b/pkgs/development/libraries/soprano/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "soprano-2.9.2";
+  name = "soprano-2.9.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/soprano/${name}.tar.bz2";
-    sha256 = "105xlng1ka0661gk2ap39rjjy7znp670df0c5569x04vppgd45g1";
+    sha256 = "08gb5d8bgy7vc6qd6r1kkmmc5rli67dlglpjqjlahpnvs26r1cwl";
   };
 
   patches = [ ./find-virtuoso.patch ];
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index bcbe60ffa6d..dd16d6ef94e 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-sasl=no"
     "--disable-smartcard"
+    "--enable-client"
   ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/ucl/default.nix b/pkgs/development/libraries/ucl/default.nix
index e9739d44bca..cef853698a8 100644
--- a/pkgs/development/libraries/ucl/default.nix
+++ b/pkgs/development/libraries/ucl/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "ucl-1.0.3";
+  name = "ucl-1.03";
   src = fetchurl {
     url = http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz;
     sha256 = "b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348";
diff --git a/pkgs/development/libraries/vmime/default.nix b/pkgs/development/libraries/vmime/default.nix
index 24234469fa2..c92df5a8bcb 100644
--- a/pkgs/development/libraries/vmime/default.nix
+++ b/pkgs/development/libraries/vmime/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, gsasl, gnutls, pkgconfig, zlib, libtasn1, libgcrypt }:
 
 stdenv.mkDerivation {
-  name = "vmime-0.9.2svn";
+  name = "vmime-0.9.2-pre-svn603";
   src = fetchurl {
     url = http://download.zarafa.com/community/final/7.0/7.0.5-31880/sourcecode/libvmime-0.9.2+svn603.tar.bz2;
     #url = mirror://sourceforge/vmime/libvmime-0.9.1.tar.bz2;
diff --git a/pkgs/development/libraries/xvidcore/default.nix b/pkgs/development/libraries/xvidcore/default.nix
index e03773292bb..fd5efdcc3d1 100644
--- a/pkgs/development/libraries/xvidcore/default.nix
+++ b/pkgs/development/libraries/xvidcore/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, nasm}:
+{ stdenv, fetchurl, nasm, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
   name = "xvidcore-1.3.2";
@@ -8,20 +8,36 @@ stdenv.mkDerivation rec {
     sha256 = "1x0b2rq6fv99ramifhkakycd0prjc93lbzrffbjgjwg7w4s17hfn";
   };
 
-  preConfigure = "cd build/generic";
+  preConfigure = ''
+    cd build/generic
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace configure --replace "-no-cpp-precomp" ""
+  '';
 
-  buildInputs = [ nasm ];
+  configureFlags = stdenv.lib.optionals stdenv.isDarwin
+    [ "--enable-macosx_module" "--disable-assembly" ];
 
-  postInstall =
-    ''
-      rm $out/lib/*.a
-      (cd $out/lib && ln -s *.so.4.* libxvidcore.so && ln -s *.so.4.* libxvidcore.so.4 )
-    '';
+  buildInputs = [ nasm ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ autoconf automake libtool ];
+
+  # don't delete the '.a' files on darwin -- they're needed to compile ffmpeg
+  # (and perhaps other things)
+  postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    rm $out/lib/*.a
+  '' + ''
+    cd $out/lib
+    ln -s *.so.4.* libxvidcore.so
+    if [ ! -e libxvidcore.so.4 ]; then
+        ln -s *.so.4.* libxvidcore.so.4
+    fi
+  '';
   
-  meta = {
+  meta = with stdenv.lib; {
     description = "MPEG-4 video codec for PC";
-    homepage = http://www.xvid.org/;
-    license = "GPLv2+";
+    homepage    = http://www.xvid.org/;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.all;
   };
 }
 
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index ac6bbc7f282..ade629759f0 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -23,7 +23,6 @@ let
   # Set some default values here
   
   _target = if target == null then name else target;
-  _scheme = if scheme == null then name else scheme;
 
   _configuration = if configuration == null
     then
@@ -75,7 +74,7 @@ stdenv.mkDerivation {
       ''}
 
     # Do the building
-    xcodebuild -target ${_target} -configuration ${_configuration} -scheme ${_scheme} -sdk ${_sdk} -arch ${_arch} ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName"'' else ""}
+    xcodebuild -target ${_target} -configuration ${_configuration} ${stdenv.lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} -arch ${_arch} ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName"'' else ""}
     
     ${stdenv.lib.optionalString release ''
       ${stdenv.lib.optionalString generateIPA ''
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index d59dbae45fe..41620b9424f 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, ocaml, findlib}:
 
 stdenv.mkDerivation {
-  name = "ocaml-extlib-1.5.2";
+  name = "ocaml-extlib-1.5.3";
 
   src = fetchurl {
     url = http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz;
diff --git a/pkgs/development/python-modules/blivet/default.nix b/pkgs/development/python-modules/blivet/default.nix
new file mode 100644
index 00000000000..564b89347b5
--- /dev/null
+++ b/pkgs/development/python-modules/blivet/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
+, libselinux, cryptsetup, multipath_tools, lsof, utillinux
+, useNixUdev ? true, udev ? null
+# This is only used when useNixUdev is false
+, udevSoMajor ? 1
+}:
+
+assert useNixUdev -> udev != null;
+
+let
+  pyenable = { enablePython = true; };
+  selinuxWithPython = libselinux.override pyenable;
+  cryptsetupWithPython = cryptsetup.override pyenable;
+in buildPythonPackage rec {
+  name = "blivet-${version}";
+  version = "0.17-1";
+
+  src = fetchurl {
+    url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
+        + "${name}.tar.bz2";
+    sha256 = "0b28q539657mqif0mn5dfqcpqv7gbyszg83gf2fv6z7q6206rnx5";
+  };
+
+  postPatch = ''
+    sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
+      blivet/devicelibs/mpath.py blivet/devices.py
+    sed -i -e '/"wipefs"/ {
+      s|wipefs|${utillinux}/sbin/wipefs|
+      s/-f/--force/
+    }' blivet/formats/__init__.py
+    sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
+    sed -i -r -e 's|"(u?mount)"|"${utillinux}/bin/\1"|' blivet/util.py
+    sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
+  '' + (if useNixUdev then ''
+    sed -i -e '/find_library/,/find_library/ {
+      c libudev = "${udev}/lib/libudev.so.1"
+    }' blivet/pyudev.py
+  '' else ''
+    sed -i -e '/^somajor *=/s/=.*/= ${toString udevSoMajor}/p' \
+      blivet/pyudev.py
+  '');
+
+  propagatedBuildInputs = [
+    pykickstart pyparted pyblock selinuxWithPython cryptsetupWithPython
+  ] ++ stdenv.lib.optional useNixUdev udev;
+
+  # tests are currently _heavily_ broken upstream
+  doCheck = false;
+
+  meta = {
+    homepage = "https://fedoraproject.org/wiki/Blivet";
+    description = "Module for management of a system's storage configuration";
+    license = [ "GPLv2+" "LGPLv2.1+" ];
+  };
+}
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index d32c6818bb2..6a7d5e5f3d5 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -5,7 +5,7 @@
 
 { python, setuptools, wrapPython, lib, offlineDistutils, recursivePthLoader }:
 
-{ name, namePrefix ? "python-"
+{ name, namePrefix ? python.libPrefix + "-"
 
 , buildInputs ? []
 
@@ -33,7 +33,7 @@
 , checkPhase ?
     ''
       runHook preCheck
-      python setup.py test
+      ${python}/bin/${python.executable} setup.py test
       runHook postCheck
     ''
 
@@ -55,7 +55,7 @@ python.stdenv.mkDerivation (attrs // {
   meta = {
     platforms = python.meta.platforms;
   } // meta // {
-    maintainers = (meta.maintainers or []) ++ [ lib.maintainers.chaoflow ];
+    maintainers = (meta.maintainers or []) ++ [ lib.maintainers.chaoflow lib.maintainers.iElectric ];
   };
 
   # checkPhase after installPhase to run tests on installed packages
diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh
index 6b02369927b..a7c839799b1 100644
--- a/pkgs/development/python-modules/generic/wrap.sh
+++ b/pkgs/development/python-modules/generic/wrap.sh
@@ -23,10 +23,13 @@ wrapPythonProgramsIn() {
         fi
         
         if head -n1 "$i" | grep -q /python; then
-            echo "wrapping \`$i'..."
-            wrapProgram "$i" \
-                --prefix PYTHONPATH ":" $program_PYTHONPATH \
-                --prefix PATH ":" $program_PATH
+            # dont wrap EGG-INFO scripts since they are called from python
+            if echo "$i" | grep -v EGG-INFO/scripts; then
+                echo "wrapping \`$i'..."
+                wrapProgram "$i" \
+                    --prefix PYTHONPATH ":" $program_PYTHONPATH \
+                    --prefix PATH ":" $program_PATH
+            fi
         fi
     done
 }
diff --git a/pkgs/development/python-modules/irclib/default.nix b/pkgs/development/python-modules/irclib/default.nix
index c840e0a1003..3e0eda34b17 100644
--- a/pkgs/development/python-modules/irclib/default.nix
+++ b/pkgs/development/python-modules/irclib/default.nix
@@ -9,7 +9,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://prdownloads.sourceforge.net/sourceforge/python-irclib/python-irclib-${version}.tar.gz";
+    url = "mirror://sourceforge/python-irclib/python-irclib-${version}.tar.gz";
     sha256 = "1x5456y4rbxmnw4yblhb4as5791glcw394bm36px3x6l05j3mvl1";
   };
   patches = [(fetchurl {
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index b5b8f8408aa..ffbe906a900 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "pygobject-3.0.4";
    
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.0/${name}.tar.xz";
+    url = "mirror://gnome/sources/pygobject/3.0/${name}.tar.xz";
     sha256 = "f457b1d7f6b8bfa727593c3696d2b405da66b4a8d34cd7d3362ebda1221f0661";
   };
 
diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix
index 8d6a1368d8b..9393b0a2f94 100644
--- a/pkgs/development/python-modules/pygobject/default.nix
+++ b/pkgs/development/python-modules/pygobject/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "pygobject-2.28.6";
   
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.28/${name}.tar.xz";
+    url = "mirror://gnome/sources/pygobject/2.28/${name}.tar.xz";
     sha256 = "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv";
   };
 
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index 940ba18f2a2..e291544911c 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -5,7 +5,7 @@ buildPythonPackage rec {
   name = "pygtk-2.22.0";
 
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.22/${name}.tar.bz2";
+    url = "mirror://gnome/sources/pygtk/2.22/${name}.tar.bz2";
     sha256 = "4acf0ef2bde8574913c40ee4a43d9c4f43bb77b577b67147271b534501a54cc8";
   };
 
diff --git a/pkgs/development/python-modules/pyside/generatorrunner.nix b/pkgs/development/python-modules/pyside/generatorrunner.nix
index afb258cec70..12ec5a7ef51 100644
--- a/pkgs/development/python-modules/pyside/generatorrunner.nix
+++ b/pkgs/development/python-modules/pyside/generatorrunner.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, cmake, pysideApiextractor, python27Packages, qt4 }:
 
 stdenv.mkDerivation {
-  name = "pyside-generatorrunner-0.6.13-9-g567ca6e";
+  name = "pyside-generatorrunner-0.6.15";
 
   src = fetchgit {
     url = "git://github.com/PySide/Generatorrunner.git";
diff --git a/pkgs/development/python-modules/python-sip/default.nix b/pkgs/development/python-modules/python-sip/default.nix
index fa958971cf3..6d79cf53a6b 100644
--- a/pkgs/development/python-modules/python-sip/default.nix
+++ b/pkgs/development/python-modules/python-sip/default.nix
@@ -10,14 +10,21 @@ stdenv.mkDerivation rec {
     ];
     sha256 = "1bwdd5xhrx8dx8rr86r043ddlbg7gd1vh0pm2nxw5l1yprwa7paa";
   };
-  
-  configurePhase = "python ./configure.py -d $out/lib/${python.libPrefix}/site-packages -b $out/bin -e $out/include";
+
+  configurePhase = stdenv.lib.optionalString stdenv.isDarwin ''
+    # prevent sip from complaining about python not being built as a framework
+    sed -i -e 1564,1565d siputils.py
+  '' + ''
+    python ./configure.py -d $out/lib/${python.libPrefix}/site-packages \
+      -b $out/bin -e $out/include
+  '';
   
   buildInputs = [ python ];
   
-  meta = {
+  meta = with stdenv.lib; {
     description = "Creates C++ bindings for Python modules";
-    license = "GPL";
-    maintainers = with stdenv.lib.maintainers; [ urkud sander ];
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lovek323 sander urkud ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/python-modules/rhpl/default.nix b/pkgs/development/python-modules/rhpl/default.nix
index 7b33932492b..92330a378c8 100644
--- a/pkgs/development/python-modules/rhpl/default.nix
+++ b/pkgs/development/python-modules/rhpl/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "rhpl-0.218";
   
   src = fetchurl {
-    url = http://ftp.stw-bonn.de/pub/fedora/linux/releases/10/Everything/source/SRPMS/rhpl-0.218-1.src.rpm;
+    url = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archive.fedoraproject.org/fedora/linux/releases/10/Everything/source/SRPMS//rhpl-0.218-1.src.rpm;
     md5 = "a72c6b66df782ca1d4950959d2aad292";
   };
   
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 92c39afc249..3dcaaca4c25 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -2,31 +2,37 @@
 
 stdenv.mkDerivation rec {
   shortName = "setuptools-${version}";
-  name = "python-${shortName}";
+  name = "${python.executable}-${shortName}";
 
-  version = "0.6c11";
+  version = "0.9.8";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz";
-    sha256 = "1lx1hwxkhipyh206bgl90ddnfcnb68bzcvyawczbf833fadyl3v3";
+    sha256 = "037b8x3fdhx8s6xafqndi3yr8x2vr42n1kzs7jxk6j9s9fd65gs2";
   };
 
+  patches = [
+    # https://bitbucket.org/pypa/setuptools/issue/55/1-failure-lc_all-c-python33m-setuppy-test
+    ./distribute-skip-sdist_with_utf8_encoded_filename.patch
+  ];
+
   buildInputs = [ python wrapPython ];
 
-  buildPhase = "python setup.py build --build-base $out";
+  buildPhase = "${python}/bin/${python.executable} setup.py build --build-base $out";
 
   installPhase =
     ''
       dst=$out/lib/${python.libPrefix}/site-packages
       mkdir -p $dst
-      PYTHONPATH=$dst:$PYTHONPATH
-      python setup.py install --prefix=$out
+      PYTHONPATH="$dst:$PYTHONPATH"
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
       wrapPythonPrograms
     '';
 
-  doCheck = false; # doesn't work with Python 2.7
-
-  checkPhase = "python setup.py test";
+  doCheck = true;
+  checkPhase = ''
+    ${python}/bin/${python.executable} setup.py test
+  '';
 
   meta = {
     description = "Utilities to facilitate the installation of Python packages";
diff --git a/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch b/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch
new file mode 100644
index 00000000000..96a4f81ee58
--- /dev/null
+++ b/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch
@@ -0,0 +1,28 @@
+diff -r f5ac515f062a setuptools/tests/test_sdist.py
+--- a/setuptools/tests/test_sdist.py	Fri Jul 26 09:52:26 2013 +0200
++++ b/setuptools/tests/test_sdist.py	Sat Jul 27 20:22:17 2013 +0200
+@@ -3,12 +3,14 @@
+ 
+ 
+ import os
++import locale
+ import shutil
+ import sys
+ import tempfile
+ import unittest
+ import unicodedata
+ 
++from setuptools.tests.py26compat import skipIf
+ from setuptools.compat import StringIO, unicode
+ from setuptools.command.sdist import sdist
+ from setuptools.command.egg_info import manifest_maker
+@@ -318,6 +320,9 @@
+             filename = filename.decode('latin-1')
+             self.assertFalse(filename in cmd.filelist.files)
+ 
++
++    @skipIf(sys.version_info >= (3,) and locale.getpreferredencoding() != 'UTF-8',
++            'Unittest fails if locale is not utf-8 but the manifests is recorded correctly')
+     def test_sdist_with_utf8_encoded_filename(self):
+         # Test for #303.
+         dist = Distribution(SETUP_ATTRS)
diff --git a/pkgs/development/python-modules/sqlalchemy-0.7.10-test-failures.patch b/pkgs/development/python-modules/sqlalchemy-0.7.10-test-failures.patch
new file mode 100644
index 00000000000..cca4a202104
--- /dev/null
+++ b/pkgs/development/python-modules/sqlalchemy-0.7.10-test-failures.patch
@@ -0,0 +1,62 @@
+From abd9f52ade78c737571be69f21dba384be3edf4e Mon Sep 17 00:00:00 2001
+From: Mike Bayer <mike_mp@zzzcomputing.com>
+Date: Sat, 2 Mar 2013 16:24:50 -0500
+Subject: [PATCH] - Fixed an import of "logging" in test_execute which was not
+ working on some linux platforms. [ticket:2669]
+
+---
+ doc/build/changelog/changelog_07.rst | 10 ++++++++++
+ lib/sqlalchemy/__init__.py           |  2 +-
+ test/engine/test_execute.py          |  2 +-
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/doc/build/changelog/changelog_07.rst b/doc/build/changelog/changelog_07.rst
+index 416df5a..f07c9ec 100644
+--- a/doc/build/changelog/changelog_07.rst
++++ b/doc/build/changelog/changelog_07.rst
+@@ -3,6 +3,16 @@
+ 0.7 Changelog
+ ==============
+ 
++.. changelog::
++    :version: 0.7.11
++
++    .. change::
++        :tags: bug, tests
++        :tickets: 2669
++        :pullreq: 41
++
++      Fixed an import of "logging" in test_execute which was not
++      working on some linux platforms.
+ 
+ .. changelog::
+     :version: 0.7.10
+diff --git a/lib/sqlalchemy/__init__.py b/lib/sqlalchemy/__init__.py
+index 9a21a70..6523ccb 100644
+--- a/lib/sqlalchemy/__init__.py
++++ b/lib/sqlalchemy/__init__.py
+@@ -120,7 +120,7 @@
+ __all__ = sorted(name for name, obj in locals().items()
+                  if not (name.startswith('_') or inspect.ismodule(obj)))
+ 
+-__version__ = '0.7.10'
++__version__ = '0.7.11'
+ 
+ del inspect, sys
+ 
+diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py
+index 69b94f1..a37f684 100644
+--- a/test/engine/test_execute.py
++++ b/test/engine/test_execute.py
+@@ -9,7 +9,7 @@
+ import sqlalchemy as tsa
+ from test.lib import testing, engines
+ from test.lib.engines import testing_engine
+-import logging
++import logging.handlers
+ from sqlalchemy.dialects.oracle.zxjdbc import ReturningParam
+ from sqlalchemy.engine import base, default
+ from sqlalchemy.engine.base import Connection, Engine
+-- 
+1.8.1.6
+
diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix
index df5d37853f7..57b35ad91ed 100644
--- a/pkgs/development/python-modules/xmpppy/default.nix
+++ b/pkgs/development/python-modules/xmpppy/default.nix
@@ -9,7 +9,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://prdownloads.sourceforge.net/sourceforge/xmpppy/xmpppy-${version}.tar.gz";
+    url = "mirror://sourceforge/xmpppy/xmpppy-${version}.tar.gz";
     sha256 = "16hbh8kwc5n4qw2rz1mrs8q17rh1zq9cdl05b1nc404n7idh56si";
   };
 
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index add0c08e95a..97f238302ec 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, qt48 }:
 
 let
-  baseVersion = "2.7";
-  revision = "1";
+  baseVersion = "2.8";
+  revision = "0";
   version = "${baseVersion}.${revision}";
   qt4_for_qtcreator = qt48.override {
     developerBuild = true;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-${version}-src.tar.gz";
-    sha256 = "04vn7y3dkk9vi1rsmsxby57mvc2h9n5q842hayq2mdlsax4qnhjv";
+    sha256 = "7ac5d9a36c2f561f74d77378d4eae95a78c7752b323e1df924d6e895e99f45d2";
   };
 
   buildInputs = [ qt4_for_qtcreator ];
diff --git a/pkgs/development/tools/build-managers/colormake/default.nix b/pkgs/development/tools/build-managers/colormake/default.nix
new file mode 100644
index 00000000000..9d62b4e187b
--- /dev/null
+++ b/pkgs/development/tools/build-managers/colormake/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchgit, perl}:
+
+stdenv.mkDerivation rec {
+  name = "colormake-${version}";
+  version = "2.1.0";
+
+  buildInputs = [perl];
+
+  src = fetchgit {
+    url = https://github.com/pagekite/Colormake.git;
+    rev = "66544f40d";
+    sha256 = "8e714c5540305d169989d9387dbac47b8b9fb2cfb424af7bcd412bfe684dc6d7";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -fa colormake.pl colormake colormake-short clmake clmake-short $out/bin
+  '';
+
+  meta = {
+    description = "A simple wrapper around make to colorize the output.";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index f8e7492184d..fbef1f83226 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hlint";
-  version = "1.8.47";
-  sha256 = "0ljqkqjn0b3j9la1i51k0019pirg4j8ap5v5b01ch7lj3jqzr85f";
+  version = "1.8.49";
+  sha256 = "03i5nw2v2s4c5860vpqnvil2wrxblavjkbnrgi59jkmcbhl2h70f";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/splot/default.nix b/pkgs/development/tools/haskell/splot/default.nix
index 4bd47b8decd..f1b15a731d5 100644
--- a/pkgs/development/tools/haskell/splot/default.nix
+++ b/pkgs/development/tools/haskell/splot/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "splot";
-  version = "0.3.8";
-  sha256 = "188v9c070wn6gr47k5q55gsiph0lj96d96bss76gz7znknfj9rm3";
+  version = "0.3.9";
+  sha256 = "039k6lgwdvpyc8w74zh98wxi1wj2jmin69jnwp7gnmv43kjpbgh5";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/misc/avarice/default.nix b/pkgs/development/tools/misc/avarice/default.nix
new file mode 100644
index 00000000000..bc3785181a8
--- /dev/null
+++ b/pkgs/development/tools/misc/avarice/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, perl, libusb }:
+
+stdenv.mkDerivation rec {
+
+  name="avarice-2.13";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/avarice/${name}.tar.bz2";
+    sha256 = "0jhh1h1k5b41v2ycq8kn43nkrkh0b9l7xjmw38rak871g3z3hix1";
+  };
+
+  buildInputs = [ pkgconfig perl libusb ];
+
+  meta = {
+    license = stdenv.lib.licenses.gpl2;
+    description = "AVaRICE translates 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/avrdude/default.nix b/pkgs/development/tools/misc/avrdude/default.nix
index adbaf5e3e8b..7574500dbbb 100644
--- a/pkgs/development/tools/misc/avrdude/default.nix
+++ b/pkgs/development/tools/misc/avrdude/default.nix
@@ -6,7 +6,7 @@ composableDerivation.composableDerivation {} rec {
   name="avrdude-5.10";
 
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/avrdude/${name}.tar.gz";
+    url = "mirror://savannah/avrdude/${name}.tar.gz";
     sha256 = "0pmy73777x8p7f2aj2w2q1dnk1bvhd1cm7hcs1s9hsdqsmiinl41";
   };
 
diff --git a/pkgs/development/tools/misc/indent/default.nix b/pkgs/development/tools/misc/indent/default.nix
index 00ff11c3c88..0c82c2cd275 100644
--- a/pkgs/development/tools/misc/indent/default.nix
+++ b/pkgs/development/tools/misc/indent/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "indent-2.2.10";
 
   src = fetchurl {
-    url = "ftp://ftp.gnu.org/gnu/indent/${name}.tar.gz";
+    url = "mirror://gnu/indent/${name}.tar.gz";
     sha256 = "0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa";
   };
 
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index da44a7d73a5..7681c8153db 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -3,7 +3,7 @@ let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.0.13";
+    version="2.0.13-rc1";
     name="${baseName}-${version}";
     hash="1cpdi61dwcc2i4bwrn7bb8fibkd1s75jrr0bjcbs8p76rn6hkb2y";
     url="http://luarocks.org/releases/luarocks-2.0.13-rc1.tar.gz";
diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix
index c87bd9d5535..e0da284887c 100644
--- a/pkgs/development/tools/misc/openocd/default.nix
+++ b/pkgs/development/tools/misc/openocd/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.7.0";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/openocd/openocd/${version}/openocd-${version}.tar.bz2";
+    url = "mirror://sourceforge/openocd/openocd-${version}.tar.bz2";
     sha256 = "0qwfyd821sy5p0agz0ybgn5nd7vplipw4mhm485ldj1hcmw7n8sj";
   };
 
diff --git a/pkgs/development/tools/misc/srecord/default.nix b/pkgs/development/tools/misc/srecord/default.nix
new file mode 100644
index 00000000000..25140093f51
--- /dev/null
+++ b/pkgs/development/tools/misc/srecord/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, boost, libtool, groff, ghostscript }:
+
+stdenv.mkDerivation rec {
+  name = "srecord-1.62";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/srecord/${name}.tar.gz";
+    sha256 = "0bfbmhsm9mbwiik3yrhm95q8bgx1k4mh2ai412k8zjyi8f5f3904";
+  };
+
+  buildInputs = [ boost libtool groff ghostscript ];
+
+  meta = with stdenv.lib; {
+    description = "Collection of powerful tools for manipulating EPROM load files";
+    homepage = http://srecord.sourceforge.net/;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.bjornfor ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/stm32flash/default.nix b/pkgs/development/tools/misc/stm32flash/default.nix
new file mode 100644
index 00000000000..496288285c7
--- /dev/null
+++ b/pkgs/development/tools/misc/stm32flash/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation {
+  name = "stm32flash-1.0";
+
+  src = fetchurl {
+    url = https://stm32flash.googlecode.com/files/stm32flash.tar.gz;
+    sha256 = "04k631g9lzvp9xr4sw51xpq1g542np61s1l8fpwx9rbsc8m5l0i6";
+  };
+
+  buildInputs = [];
+
+  installPhase = ''
+    # Manually copy, make install copies to /usr/local/bin
+    mkdir -pv $out/bin/
+    cp stm32flash $out/bin/
+  '';
+
+  meta = { 
+    description = "Open source flash program for the STM32 ARM processors using the ST bootloader.";
+    homepage = https://code.google.com/p/stm32flash/;
+    license = "GPLv2";
+    platforms = stdenv.lib.platforms.all; # Should work on all platforms
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/development/tools/misc/texi2html/default.nix b/pkgs/development/tools/misc/texi2html/default.nix
index 2089142284f..7fa604e4af6 100644
--- a/pkgs/development/tools/misc/texi2html/default.nix
+++ b/pkgs/development/tools/misc/texi2html/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "texi2html-1.82";
 
   src = fetchurl {
-    url = "http://www.very-clever.com/download/nongnu/texi2html/${name}.tar.bz2";
+    url = "mirror://savannah/texi2html/${name}.tar.bz2";
     sha256 = "1wdli2szkgm3l0vx8rf6lylw0b0m47dlz9iy004n928nqkzix76n";
   };
 
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index d260b290016..5c080ee315a 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation ({
     runHook preConfigure
     mkdir node_modules
     ${stdenv.lib.concatStrings (map (dep: ''
-      ln -sv ${dep}/node_modules/${(builtins.parseDrvName dep.name).name} node_modules/
+      ln -sv ${dep}/lib/node_modules/${(builtins.parseDrvName dep.name).name} node_modules/
     '') deps)}
     export HOME=$(pwd)
     runHook postConfigure
@@ -35,14 +35,25 @@ stdenv.mkDerivation ({
 
   installPhase = ''
     runHook preInstall
-    mkdir -p $out/node_modules
-    mv node_modules/${requireName} $out/node_modules
-    mv node_modules/.bin $out/node_modules 2>/dev/null || true
-    mv node_modules $out/node_modules/${requireName}
-    if [ -d "$out/node_modules/.bin" ]; then
-      ln -sv node_modules/.bin $out/bin
-      find -L $out/node_modules/.bin/* -type f -print0 | \
-        xargs -0 sed --follow-symlinks -i 's@#!/usr/bin/env node@#!${nodejs}/bin/node@'
+    mkdir -p $out/lib/node_modules
+    mv node_modules/${requireName} $out/lib/node_modules
+    mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
+    rm -fR $out/lib/node_modules/${requireName}/node_modules
+    mv node_modules $out/lib/node_modules/${requireName}
+    if [ -d "$out/lib/node_modules/.bin" ]; then
+      ln -sv $out/lib/node_modules/.bin $out/bin
+      node=`type -p node`
+      coffee=`type -p coffee || true`
+      find -L $out/lib/node_modules/.bin/* -type f -print0 | \
+        xargs -0 sed --follow-symlinks -i \
+          -e 's@#!/usr/bin/env node@#!'"$node"'@' \
+          -e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \
+          -e 's@#!/.*/node@#!'"$node"'@' \
+          -e 's@#!/.*/coffee@#!'"$coffee"'@'
+    fi
+    if [ -e "$out/lib/node_modules/${requireName}/man" ]; then
+      mkdir $out/share
+      ln -sv $out/lib/node_modules/${requireName}/man $out/share/man
     fi
     runHook postInstall
   '';
diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix
index 5c10154998d..7e4f6b00587 100644
--- a/pkgs/games/blobby/default.nix
+++ b/pkgs/games/blobby/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, SDL, SDL_image, mesa, cmake, physfs, boost, zip, zlib}:
 stdenv.mkDerivation rec {
-  version = "2.0-rc3";
+  version = "1.0-rc3";
   name = "blobby-volley-${version}";
 
   src = fetchurl {
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index b8a215e3b49..4f1b126ac47 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, SDL, SDL_mixer, libvorbis, mesa, gtk, pkgconfig, nasm, libvpx, flac, makeDesktopItem}:
 
 stdenv.mkDerivation rec {
-  name = "eduke32-3542";
+  name = "eduke32-20130303-3542";
   
   src = fetchurl {
     url = http://dukeworld.duke4.net/eduke32/synthesis/20130303-3542/eduke32_src_20130303-3542.tar.bz2;
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index db24a6d1ebf..898334a1d4a 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -12,7 +12,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/extremetuxracer/extremetuxracer-${version}.tar.gz";
+    url = "mirror://sourceforge/extremetuxracer/extremetuxracer-${version}.tar.gz";
     sha256 = "04d99fsfna5mc9apjxsiyw0zgnswy33kwmm1s9d03ihw6rba2zxs";
   };
 
diff --git a/pkgs/games/globulation/default.nix b/pkgs/games/globulation/default.nix
index 2b60abd0092..f1ffec85566 100644
--- a/pkgs/games/globulation/default.nix
+++ b/pkgs/games/globulation/default.nix
@@ -15,7 +15,7 @@ let
     version="0.9.4";
     patchlevel="4";
     name="${baseName}-${version}.${patchlevel}";
-    url="http://dl.sv.nongnu.org/releases/glob2/${version}/${name}.tar.gz";
+    url="mirror://savannah/glob2/${version}/${name}.tar.gz";
     hash="1f0l2cqp2g3llhr9jl6jj15k0wb5q8n29vqj99xy4p5hqs78jk8g";
   };
 in
diff --git a/pkgs/games/gnuchess/default.nix b/pkgs/games/gnuchess/default.nix
index ae7938c02b8..8a4bfe5f6ec 100644
--- a/pkgs/games/gnuchess/default.nix
+++ b/pkgs/games/gnuchess/default.nix
@@ -6,7 +6,7 @@ let
     version="6.0.3";
     name="${baseName}-${version}";
     hash="01ff8qd8pk39c6pv24wbcqkx78kvay8rxvgxqq9cqp9gqv39jfkw";
-    url="http://ftp.gnu.org/gnu/chess/gnuchess-6.0.3.tar.gz";
+    url="mirror://gnu/chess/gnuchess-6.0.3.tar.gz";
     sha256="01ff8qd8pk39c6pv24wbcqkx78kvay8rxvgxqq9cqp9gqv39jfkw";
   };
   buildInputs = [
diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix
index d0793a8d13d..3dded927ba1 100644
--- a/pkgs/games/gtypist/default.nix
+++ b/pkgs/games/gtypist/default.nix
@@ -1,19 +1,16 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation {
-  name = "gtypist-2.9.1";
+  name = "gtypist-2.9.3";
 
   src = fetchurl {
-    url = "ftp://ftp.gnu.org/gnu/gtypist/gtypist-2.9.1.tar.xz";
-    sha256 = "1yv209aih1ixbs477vzzk1xj013g6w32vi33g0hldfzvfxbl9y5s";
+    url = "mirror://gnu/gtypist/gtypist-2.9.3.tar.xz";
+    sha256 = "0srwa841caci69hzqb47xfbxxf7fvz3640qka083p72vm8z9hsxw";
   };
 
   buildInputs = [ncurses];
 
-  patches = [ (fetchurl {
-    url = "http://projects.archlinux.org/svntogit/community.git/plain/trunk/ncurses.patch?h=packages/gtypist";
-    sha256 = "14crgh21gghszwijxjvixpijqzsgn62wx6kz28zkjskdw0p5vij1";
-  })];
+  patchPhase = "sed -e 's#ncursesw/##' -i configure src/*";
 
   meta = {
     homepage = http://www.gnu.org/software/gtypist;
diff --git a/pkgs/games/liquidwar/default.nix b/pkgs/games/liquidwar/default.nix
index 085c990f1a0..292aa2ff190 100644
--- a/pkgs/games/liquidwar/default.nix
+++ b/pkgs/games/liquidwar/default.nix
@@ -14,7 +14,7 @@ rec {
   name = "liquidwar6-0.0.13beta";
 
   src = a.fetchurl {
-    url = "http://ftp.gnu.org/gnu/liquidwar6/${name}.tar.gz";
+    url = "mirror://gnu/liquidwar6/${name}.tar.gz";
     sha256 = "1jjf7wzb8jf02hl3473vz1q74fhmxn0szbishgi1f1j6a7234wx2";
   };
 
diff --git a/pkgs/games/pong3d/default.nix b/pkgs/games/pong3d/default.nix
index 24baff5394a..d5f9ca6ee23 100644
--- a/pkgs/games/pong3d/default.nix
+++ b/pkgs/games/pong3d/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, libX11}:
 
 stdenv.mkDerivation {
-  name = "3dpong-0.5.0";
+  name = "3dpong-0.5";
   src = fetchurl {
     url = ftp://ftp.tuxpaint.org/unix/x/3dpong/src/3dpong-0.5.tar.gz;
     sha256 = "1ibb79sbzlbn4ra3n0qk22gqr6fg7q0jy6cm0wg2qj4z64c7hmdi";
diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix
index 21870fc3777..7e73bfad540 100644
--- a/pkgs/games/xboard/default.nix
+++ b/pkgs/games/xboard/default.nix
@@ -8,7 +8,7 @@ let
     version="4.7.1";
     name="${baseName}-${version}";
     hash="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry";
-    url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.1.tar.gz";
+    url="mirror://gnu/xboard/xboard-4.7.1.tar.gz";
     sha256="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry";
   };
   buildInputs = [
diff --git a/pkgs/lib/lists.nix b/pkgs/lib/lists.nix
index 3c01b165fc1..578686ae366 100644
--- a/pkgs/lib/lists.nix
+++ b/pkgs/lib/lists.nix
@@ -1,9 +1,13 @@
 # General list operations.
-with {
+let
   inherit (import ./trivial.nix) deepSeq;
-};
 
-rec {
+  inc = builtins.add 1;
+
+  dec = n: builtins.sub n 1;
+
+  inherit (builtins) elemAt;
+in rec {
   inherit (builtins) head tail length isList add sub lessThan;
 
 
@@ -17,50 +21,39 @@ rec {
   # `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 =
-    if builtins ? elemAt
-    then op: nul: list:
-      let
-        len = length list;
-        fold' = n:
-          if n == len
-          then nul
-          else op (builtins.elemAt list n) (fold' (add n 1));
-      in fold' 0
-    else op: nul:
-      let fold' = list:
-        if list == []
+  fold = op: nul: list:
+    let
+      len = length list;
+      fold' = n:
+        if n == len
         then nul
-        else op (head list) (fold' (tail list));
-      in fold';
+        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 =
-    if builtins ? elemAt
-    then op: nul: list:
-      let
-        len = length list;
-        foldl' = n:
-          if n == minus1
-          then nul
-          else op (foldl' (sub n 1)) (builtins.elemAt list n);
-      in foldl' (sub (length list) 1)
-    else op:
-      let foldl' = nul: list:
-        if list == []
+  foldl = op: nul: list:
+    let
+      len = length list;
+      foldl' = n:
+        if n == minus1
         then nul
-        else foldl' (op nul (head list)) (tail list);
-      in foldl';
+        else op (foldl' (dec n)) (elemAt list n);
+    in foldl' (dec (length list));
 
-  minus1 = sub 0 1;
+  minus1 = dec 0;
 
 
   # map with index: `imap (i: v: "${v}-${toString i}") ["a" "b"] ==
   # ["a-1" "b-2"]'
   imap = f: list:
-    zipListsWith f (range 1 (length list)) 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.
@@ -102,10 +95,10 @@ rec {
   # 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;
-    in if found == [] then default
-       else if tail found != [] then multiple
-       else head found;
+    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
@@ -159,65 +152,84 @@ rec {
 
 
   zipListsWith = f: fst: snd:
-    if fst != [] && snd != [] then
-      [ (f (head fst) (head snd)) ]
-      ++ zipListsWith f (tail fst) (tail snd)
-    else [];
+    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 = l:
-    let reverse_ = accu: l:
-      if l == [] then accu
-      else reverse_ ([(head l)] ++ accu) (tail l);
-    in reverse_ [] l;
+  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
-      # This implementation only has one element list on the left hand
-      # side of the concatenation operator.
-      qs = l: concat:
-        if l == [] then concat
-        else if length l == 1 then l ++ concat
-        else let
-          part = partition (strictLess (head l)) (tail l);
-        in
-          qs part.wrong ([(head l)] ++ qs part.right concat);
+      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
-      qs list [];
+      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:
-    if list == [] || count == 0 then []
-    else [ (head list) ] ++ take (builtins.sub count 1) (tail 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:
-    if count == 0 then list
-    else drop (builtins.sub count 1) (tail 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 != [];
-    let loop = l: if tail l == [] then head l else loop (tail l); in
-    loop list;
+    assert list != []; elemAt list (dec (length list));
 
 
   # Zip two lists together.
   zipTwoLists = xs: ys:
-    if xs != [] && ys != [] then
-      [ {first = head xs; second = head ys;} ]
-      ++ zipTwoLists (tail xs) (tail ys)
-    else [];
+    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
index da4d13b354d..ab76e2018c0 100644
--- a/pkgs/lib/maintainers.nix
+++ b/pkgs/lib/maintainers.nix
@@ -19,6 +19,7 @@
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
   coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
   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>";
diff --git a/pkgs/lib/options.nix b/pkgs/lib/options.nix
index 1fdf9ad8088..5c896d5714c 100644
--- a/pkgs/lib/options.nix
+++ b/pkgs/lib/options.nix
@@ -28,6 +28,13 @@ rec {
     # 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 // {
diff --git a/pkgs/lib/strings.nix b/pkgs/lib/strings.nix
index ed668e2b927..024a9ac7d7a 100644
--- a/pkgs/lib/strings.nix
+++ b/pkgs/lib/strings.nix
@@ -163,6 +163,10 @@ rec {
   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;
diff --git a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
index 185532589c6..3a619220bcf 100644
--- a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
+++ b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
@@ -2,12 +2,12 @@
   cmake, dbus_glib, glib, gtk, gdk_pixbuf, pkgconfig, xorg }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.2.1";
+  version = "1.3.4";
   name = "oxygen-gtk2-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/oxygen-gtk2/${version}/src/${name}.tar.bz2";
-    sha256 = "19l0dhjswvm7y99pvbd3qnz37k0p5y2slljy8mm4r8awjff3v4qi";
+    sha256 = "02q46kq0hhrmzwbjngg31ydl2198ls5bxgnz2si4amdmqii1nlmj";
   };
 
   buildInputs = [ cmake dbus_glib glib gtk gdk_pixbuf
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 68e968d571e..6e337b8feef 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -1,4 +1,4 @@
-{fetchurl, stdenv, python, cmake, vim}:
+{fetchurl, stdenv, python, cmake, vim, perl, ruby}:
 
 /*
 About Vim and plugins
@@ -11,7 +11,7 @@ typical plugin files:
   plugin/P1.vim
   autoload/P1.vim
   ftplugin/xyz.vim
-  doc/plugin-documentation.txt
+  doc/plugin-documentation.txt (traditional documentation)
   README(.md) (nowadays thanks to github)
 
 Traditionally plugins were installed into ~/.vim/* so it was your task to keep track
@@ -25,16 +25,16 @@ this to your .vimrc should make most plugins work:
   set rtp+=~/.nix-profile/vim-plugins/YouCompleteMe
   " or for p in ["YouCompleteMe"] | exec 'set rtp+=~/.nix-profile/vim-plugins/'.p | endfor
 
-Its what
-pathogen, vundle, vim-addon-manager (VAM) use.
+Its what pathogen, vundle, vim-addon-manager (VAM) use.
 
 VAM's benefits:
-- works around after/* directories if they are used in non ~/.vim locations
 - allows activating plugins at runtime, eg when you need them. (works around
   some au command hooks, eg required for TheNerdTree plugin)
 - VAM checkous out all sources (vim.sf.net, git, mercurial, ...)
 - runs :helptags on update/installation only. Obviously it cannot do that on
   store paths.
+- it reads addon-info.json files which can declare dependencies by name
+  (without version)
 
 VAM is made up of
 - the code loading plugins
@@ -63,31 +63,50 @@ How to install VAM? eg provide such a bash function:
     EOF
     }
 
-IMHO having no plugins listed might be better than having outdated ones.
+Marc Weber thinks that having no plugins listed might be better than having
+outdated ones.
 
 So which plugins to add here according to what Marc Weber thinks is best?
-complicated plugins requiring dependencies, such as YouCompleteMe.
+Complicated plugins requiring dependencies, such as YouCompleteMe.
 Then its best to symlink ~/.nix-profile/vim-plugins/YouCompleteMe to
 ~/.vim/{vim-addons,bundle} or whatever plugin management solution you use.
 
 If you feel differently change the comments and proceed.
 */
 
-let vimHelptags = path: ''
-  ${vim}/bin/vim -N -u NONE -i NONE -n -e -s -c "helptags ${path}" +quit!
-'';
+# provide a function creating tag files for vim help documentation (doc/*.txt)
+let vimHelpTags = ''
+    vimHelpTags(){
+      if [ -d "$1/doc" ]; then
+        ${vim}/bin/vim -N -u NONE -i NONE -n -e -s -c "helptags $1/doc" +quit!
+      fi
+    }
+  '';
+
+  # install a simple standard vim plugin
+  simpleDerivation = a@{name, src, path, buildPhase ? "", ...} : stdenv.mkDerivation (a // {
+    inherit buildPhase;
+
+    installPhase = ''
+      target=$out/vim-plugins/$path
+      ensureDir $out/vim-plugins
+      ls -l
+      cp -r . $target
+      ${vimHelpTags}
+      vimHelpTags $target
+    '';
+  });
 
 in
 
 {
 
-  #TODO :helptags should be run
-
   vimAddonNix = {
     # github.com/MarcWeber/vim-addon-nix provides some additional support for
     # editing .nix files
 
-    # This is a placeholder, because I think you always should be using latest git version
+    # This is a placeholder, because I think you always should be using latest
+    # git version. It also depends on some additional plugins (see addon-info.json)
   };
 
   YouCompleteMe = stdenv.mkDerivation {
@@ -100,7 +119,6 @@ in
     configurePhase = ":";
 
     buildPhase = ''
-      set -x
       target=$out/vim-plugins/YouCompleteMe
       mkdir -p $target
       cp -a ./ $target
@@ -110,7 +128,8 @@ in
       cmake -G "Unix Makefiles" . $target/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7
       make -j -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
 
-      ${vimHelptags "$out/vim-plugins/YouCompleteMe/doc"}
+      ${vimHelpTags}
+      vimHelpTags $target
     '';
 
     # TODO: implement proper install phase rather than keeping everything in store
@@ -126,48 +145,47 @@ in
     };
   };
 
-  syntastic = stdenv.mkDerivation {
+  syntastic = simpleDerivation {
     name = "vim-syntastic-3.0.0";
-   
     src = fetchurl {
       url = "https://github.com/scrooloose/syntastic/archive/3.0.0.tar.gz";
       sha256 = "0nf69wpa8qa7xcfvywy2khmazs4dn1i2nal9qwjh2bzrbwbbkdyl";
     };
-
-    buildPhase = "";
-
-    installPhase = ''
-      mkdir -p "$out/vim-plugins"
-      cp -R autoload "$out/vim-plugins"
-      cp -R doc "$out/vim-plugins"
-      cp -R plugin "$out/vim-plugins"
-      cp -R syntax_checkers "$out/vim-plugins"
-    '';
+    path = "syntastic";
   };
 
-  coffeeScript = stdenv.mkDerivation {
+  coffeeScript = simpleDerivation {
     name = "vim-coffee-script-v002";
-
     src = fetchurl {
       url = "https://github.com/vim-scripts/vim-coffee-script/archive/v002.tar.gz";
       sha256 = "1xln6i6jbbihcyp5bsdylr2146y41hmp2xf7wi001g2ymj1zdsc0";
     };
+    path = "vim-coffee-script";
+  };
 
-    buildPhase = "";
+  command_T = simpleDerivation {
 
-    installPhase = ''
-      mkdir -p "$out/vim-plugins"
-      cp -R after "$out/vim-plugins"
-      cp -R compiler "$out/vim-plugins"
-      cp -R doc "$out/vim-plugins"
-      cp -R ftdetect "$out/vim-plugins"
-      cp -R ftplugin "$out/vim-plugins"
-      cp -R indent "$out/vim-plugins"
-      cp -R syntax "$out/vim-plugins"
+    name = "vim-command-t-1.4";
+
+    src = fetchurl {
+      url    = "https://github.com/wincent/Command-T/archive/1.4.tar.gz";
+      sha256 = "1ka9hwx9n0vj1dd5qsd2l1wq0kriwl76jmmdjzh7zaf0p547v98s";
+    };
+
+    path = "Command-T";
+
+    buildInputs = [ perl ruby ];
+
+    buildPhase = ''
+      pushd ruby/command-t
+      ruby extconf.rb
+      make
+      popd
     '';
   };
 
-  xdebug = stdenv.mkDerivation {
+  xdebug = simpleDerivation {
+
     name = "vim-xdebug-a4980fa65f7f159780593ee37c178281691ba2c4";
 
     src = fetchurl {
@@ -175,10 +193,8 @@ in
       sha256 = "1348gzp0zhc2wifvs5vmf92m9y8ik8ldnvy7bawsxahy8hmhiksk";
     };
 
-    installPhase = ''
-      mkdir -p "$out/vim-plugins"
-      cp -R plugin "$out/vim-plugins"
-    '';
+    path = "xdebug";
+
+    postInstall = false;
   };
 }
-
diff --git a/pkgs/os-specific/linux/dmidecode/default.nix b/pkgs/os-specific/linux/dmidecode/default.nix
index f0649ccc390..e6b5035bd8e 100644
--- a/pkgs/os-specific/linux/dmidecode/default.nix
+++ b/pkgs/os-specific/linux/dmidecode/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "dmidecode-2.11";
 
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/dmidecode/${name}.tar.bz2";
+    url = "mirror://savannah/dmidecode/${name}.tar.bz2";
     sha256 = "0l9v8985piykc98hmbg1cq5r4xwvp0jjl4li3avr3ddkg4s699bd";
   };
 
diff --git a/pkgs/os-specific/linux/e1000e/default.nix b/pkgs/os-specific/linux/e1000e/default.nix
index 8d1320afc68..e1abeea49b7 100644
--- a/pkgs/os-specific/linux/e1000e/default.nix
+++ b/pkgs/os-specific/linux/e1000e/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "e1000e-1.5.1-${kernelDev.version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/e1000/e1000e-1.5.1.tar.gz";
+    url = "mirror://sourceforge/e1000/e1000e-1.5.1.tar.gz";
     sha256 = "0nzjlarpqcpm5y112n3vzra4qv32hiygpfkk10y8g4nln4adhqsw";
   };
 
diff --git a/pkgs/os-specific/linux/firmware/zd1211/default.nix b/pkgs/os-specific/linux/firmware/zd1211/default.nix
index a717bd9e117..cb4466dc20f 100644
--- a/pkgs/os-specific/linux/firmware/zd1211/default.nix
+++ b/pkgs/os-specific/linux/firmware/zd1211/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   
   src = fetchurl {
-    url = "http://surfnet.dl.sourceforge.net/sourceforge/zd1211/${name}.tar.bz2";
+    url = "mirror://sourceforge/zd1211/${name}.tar.bz2";
     sha256 = "866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1";
   };
   
diff --git a/pkgs/os-specific/linux/frandom/default.nix b/pkgs/os-specific/linux/frandom/default.nix
index 10876e96fc8..a28ba527218 100644
--- a/pkgs/os-specific/linux/frandom/default.nix
+++ b/pkgs/os-specific/linux/frandom/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "${baseName}-${kernelDev.version}";
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/frandom/files/${baseName}.tar.gz";
+    url = "mirror://sourceforge/frandom/${baseName}.tar.gz";
     sha256 = "15rgyk4hfawqg7z1spk2xlk1nn6rcdls8gdhc70f91shrc9pvlls";
   };
 
diff --git a/pkgs/os-specific/linux/ipsec-tools/default.nix b/pkgs/os-specific/linux/ipsec-tools/default.nix
index 00676319b03..b28320c0625 100644
--- a/pkgs/os-specific/linux/ipsec-tools/default.nix
+++ b/pkgs/os-specific/linux/ipsec-tools/default.nix
@@ -7,11 +7,11 @@
 # the time being.
 
 stdenv.mkDerivation rec {
-  name = "ipsec-tools-0.8.0";
+  name = "ipsec-tools-0.8.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/ipsec-tools/${name}.tar.bz2";
-    sha256 = "2359a24aa8eda9ca7043fc47950c8e6b7f58a07c5d5ad316aa7de2bc5e3a8717";
+    sha256 = "1m1x2planqqxi0587g7d8xhy0gkyfaxs3ry4hhdh0bw46sxrajps";
   };
 
   buildInputs = [ readline openssl flex krb5 pam ];
diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh
index 14d8108ba16..47c7a22c177 100644
--- a/pkgs/os-specific/linux/kernel/builder.sh
+++ b/pkgs/os-specific/linux/kernel/builder.sh
@@ -1,7 +1,7 @@
 source $stdenv/setup
 
 
-makeFlags="ARCH=$arch SHELL=/bin/sh"
+makeFlags="ARCH=$arch SHELL=/bin/sh $makeFlags"
 if [ -n "$crossConfig" ]; then
   makeFlags="$makeFlags CROSS_COMPILE=$crossConfig-"
 fi
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index bcf555201a2..7de8aa85392 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -259,8 +259,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.10";
-    modDirVersion = "3.10.0";
+    version = "3.10.4";
     testing = false;
 
     preConfigure = ''
@@ -269,7 +268,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "0i1mmp1fym49az75rjnwxbbh11b387qqjjkczq5l373ssa9gl9yz";
+      sha256 = "1f0ynk37bhkllx2ahzp587yr8cvn809v2ad0sn7z92yv48vl4nly";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 90df69dcf16..6dcd88a1f91 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -246,7 +246,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.4.51";
+    version = "3.4.54";
     testing = false;
 
     preConfigure = ''
@@ -255,7 +255,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "02msq95m2f73bw0y0sf2gsvg6yd7gfr6n1f2id77604mc6svb69s";
+      sha256 = "06gz0svm4ngn9iaq9hw5c63mi0613nlzh78dny2m6z00ivpbnk6i";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.7.nix b/pkgs/os-specific/linux/kernel/linux-3.7.nix
deleted file mode 100644
index 2b31ec282ca..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.7.nix
+++ /dev/null
@@ -1,280 +0,0 @@
-args @ { stdenv, fetchurl, extraConfig ? ""
-, perl, mktemp, module_init_tools
-, ... }:
-
-let
-  configWithPlatform = kernelPlatform :
-    ''
-      # Power management and debugging for powertop.
-      DEBUG_KERNEL y
-      PM_ADVANCED_DEBUG y
-      PM_RUNTIME y
-      TIMER_STATS y
-      USB_SUSPEND y
-      BACKTRACE_SELF_TEST n
-      CPU_NOTIFIER_ERROR_INJECT? n
-      DEBUG_DEVRES n
-      DEBUG_NX_TEST n
-      DEBUG_STACK_USAGE n
-      DEBUG_STACKOVERFLOW n
-      RCU_TORTURE_TEST n
-      SCHEDSTATS n
-
-      # Support drivers that need external firmware.
-      STANDALONE n
-
-      # Make /proc/config.gz available.
-      IKCONFIG_PROC y
-
-      # Optimize with -O2, not -Os.
-      CC_OPTIMIZE_FOR_SIZE n
-
-      # Enable the kernel's built-in memory tester.
-      MEMTEST y
-
-      # Include the CFQ I/O scheduler in the kernel, rather than as a
-      # module, so that the initrd gets a good I/O scheduler.
-      IOSCHED_CFQ y
-      BLK_CGROUP y # required by CFQ
-
-      # Enable NUMA.
-      NUMA? y
-
-      # Disable some expensive (?) features.
-      FTRACE n
-      KPROBES n
-      PM_TRACE_RTC n
-
-      # Enable various subsystems.
-      ACCESSIBILITY y # Accessibility support
-      AUXDISPLAY y # Auxiliary Display support
-      DONGLE y # Serial dongle support
-      HIPPI? y
-      MTD_COMPLEX_MAPPINGS y # needed for many devices
-      SCSI_LOWLEVEL y # enable lots of SCSI devices
-      SCSI_LOWLEVEL_PCMCIA y
-      SPI y # needed for many devices
-      SPI_MASTER y
-      WAN y
-
-      # Networking options.
-      IP_PNP n
-      IPV6_PRIVACY y
-      NETFILTER_ADVANCED y
-      IP_VS_PROTO_TCP y
-      IP_VS_PROTO_UDP y
-      IP_VS_PROTO_ESP y
-      IP_VS_PROTO_AH y
-      IP_DCCP_CCID3 n # experimental
-      CLS_U32_PERF y
-      CLS_U32_MARK y
-
-      # Wireless networking.
-      IPW2100_MONITOR y # support promiscuous mode
-      IPW2200_MONITOR? y # support promiscuous mode
-      HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
-      HOSTAP_FIRMWARE_NVRAM y
-      ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus
-      ATH9K_AHB y # Ditto, AHB bus
-      B43_PHY_HT y
-      BCMA_HOST_PCI y
-      CFG80211_WEXT y # Without it, ipw2200 drivers don't build
-
-      # Some settings to make sure that fbcondecor works - in particular,
-      # disable tileblitting and the drivers that need it.
-
-      # Enable various FB devices.
-      FB y
-      FB_EFI y
-      FB_NVIDIA_I2C y # Enable DDC Support
-      FB_RIVA_I2C y
-      FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
-      FB_ATY_GX y # Mach64 GX support
-      FB_SAVAGE_I2C y
-      FB_SAVAGE_ACCEL y
-      FB_SIS_300 y
-      FB_SIS_315 y
-      FB_3DFX_ACCEL y
-      FB_GEODE y
-
-      # Video configuration
-      # Enable KMS for devices whose X.org driver supports it.
-      DRM_I915_KMS y
-      DRM_RADEON_KMS y
-      # Hybrid graphics support
-      VGA_SWITCHEROO y
-
-      # Sound.
-      SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
-      SND_HDA_INPUT_BEEP y # Support digital beep via input layer
-      SND_USB_CAIAQ_INPUT y
-      PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
-
-      # USB serial devices.
-      USB_SERIAL_GENERIC y # USB Generic Serial Driver
-      USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
-      USB_SERIAL_KEYSPAN_USA28 y
-      USB_SERIAL_KEYSPAN_USA28X y
-      USB_SERIAL_KEYSPAN_USA28XA y
-      USB_SERIAL_KEYSPAN_USA28XB y
-      USB_SERIAL_KEYSPAN_USA19 y
-      USB_SERIAL_KEYSPAN_USA18X y
-      USB_SERIAL_KEYSPAN_USA19W y
-      USB_SERIAL_KEYSPAN_USA19QW y
-      USB_SERIAL_KEYSPAN_USA19QI y
-      USB_SERIAL_KEYSPAN_USA49W y
-      USB_SERIAL_KEYSPAN_USA49WLC y
-
-      # Filesystem options - in particular, enable extended attributes and
-      # ACLs for all filesystems that support them.
-      EXT2_FS_XATTR y # Ext2 extended attributes
-      EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
-      EXT2_FS_SECURITY y # Ext2 Security Labels
-      EXT2_FS_XIP y # Ext2 execute in place support
-      EXT4_FS_POSIX_ACL y
-      EXT4_FS_SECURITY y
-      REISERFS_FS_XATTR y
-      REISERFS_FS_POSIX_ACL y
-      REISERFS_FS_SECURITY y
-      JFS_POSIX_ACL y
-      JFS_SECURITY y
-      XFS_QUOTA y
-      XFS_POSIX_ACL y
-      XFS_RT y # XFS Realtime subvolume support
-      OCFS2_DEBUG_MASKLOG n
-      BTRFS_FS_POSIX_ACL y
-      UBIFS_FS_XATTR? y
-      UBIFS_FS_ADVANCED_COMPR y
-      NFSD_V2_ACL y
-      NFSD_V3 y
-      NFSD_V3_ACL y
-      NFSD_V4 y
-      NFS_FSCACHE y
-      CIFS_XATTR y
-      CIFS_POSIX y
-      CIFS_FSCACHE y
-
-      # Security related features.
-      STRICT_DEVMEM y # Filter access to /dev/mem
-      SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
-
-      # Misc. options.
-      8139TOO_8129 y
-      8139TOO_PIO n # PIO is slower
-      AIC79XX_DEBUG_ENABLE n
-      AIC7XXX_DEBUG_ENABLE n
-      AIC94XX_DEBUG n
-      AUDIT_LOGINUID_IMMUTABLE y
-      B43_PCMCIA y
-      BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
-      BLK_DEV_IDEACPI y # IDE ACPI support
-      BLK_DEV_INTEGRITY y
-      BSD_PROCESS_ACCT_V3 y
-      BT_HCIUART_BCSP y
-      BT_HCIUART_H4 y # UART (H4) protocol support
-      BT_HCIUART_LL y
-      BT_RFCOMM m
-      BT_RFCOMM_TTY y # RFCOMM TTY support
-      CRASH_DUMP n
-      DMAR? n # experimental
-      DVB_DYNAMIC_MINORS? y # we use udev
-      EFI_STUB y # EFI bootloader in the bzImage itself
-      FHANDLE y # used by systemd
-      FUSION y # Fusion MPT device support
-      IDE_GD_ATAPI y # ATAPI floppy support
-      IRDA_ULTRA y # Ultra (connectionless) protocol
-      JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
-      JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
-      JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
-      JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
-      LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
-      LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
-      LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
-      LOGO n # not needed
-      MEDIA_ATTACH? y
-      MEGARAID_NEWGEN y
-      MICROCODE_AMD y
-      MODVERSIONS y
-      MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
-      MTRR_SANITIZER y
-      NET_FC y # Fibre Channel driver support
-      PPP_MULTILINK y # PPP multilink support
-      REGULATOR y # Voltage and Current Regulator Support
-      RC_DEVICES y # Enable IR devices
-      SCSI_LOGGING y # SCSI logging facility
-      SERIAL_8250 y # 8250/16550 and compatible serial support
-      SLIP_COMPRESSED y # CSLIP compressed headers
-      SLIP_SMART y
-      THERMAL_HWMON y # Hardware monitoring support
-      USB_DEBUG n
-      USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
-      USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
-      X86_CHECK_BIOS_CORRUPTION y
-      X86_MCE y
-      XEN_DOM0 y
-
-      # Linux Containers
-      RT_GROUP_SCHED? y
-      CGROUP_DEVICE? y
-      MEMCG? y
-      MEMCG_SWAP? y
-      DEVPTS_MULTIPLE_INSTANCES? y
-
-      # Enable staging drivers.  These are somewhat experimental, but
-      # they generally don't hurt.
-      STAGING y
-
-      # PROC_EVENTS requires that the netlink connector is not built
-      # as a module.  This is required by libcgroup's cgrulesengd.
-      CONNECTOR y
-      PROC_EVENTS y
-
-      # Tracing
-      FTRACE y
-      FUNCTION_TRACER y
-      FTRACE_SYSCALLS y
-      SCHED_TRACER y
-
-      # Devtmpfs support.
-      DEVTMPFS y
-
-      # Media support
-      MEDIA_CAMERA_SUPPORT? y
-      MEDIA_RC_SUPPORT? y
-      MEDIA_USB_SUPPORT y
-
-      # Easier debug of NFS issues
-      SUNRPC_DEBUG y
-
-      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
-      ${extraConfig}
-    '';
-in
-
-import ./generic.nix (
-
-  rec {
-    version = "3.7.10";
-    testing = false;
-
-    preConfigure = ''
-      substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
-    '';
-
-    src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "1l8b40z95ahc2v9babmhrbi8jn2bhwkapq0libq0z21iipqsya4v";
-    };
-
-    config = configWithPlatform stdenv.platform;
-    configCross = configWithPlatform stdenv.cross.platform;
-
-    features.iwlwifi = true;
-    features.efiBootStub = true;
-    features.needsCifsUtils = true;
-    features.canDisableNetfilterConntrackHelpers = true;
-    features.netfilterRPFilter = true;
-  }
-
-  // removeAttrs args ["extraConfig"]
-)
diff --git a/pkgs/os-specific/linux/kernel/linux-3.9.nix b/pkgs/os-specific/linux/kernel/linux-3.9.nix
index c0441982dd3..b3909900c66 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.9.nix
@@ -258,7 +258,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.9.9";
+    version = "3.9.10";
     testing = false;
 
     preConfigure = ''
@@ -267,7 +267,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "1zrw65m8kvxjkqfj708s418qdm87x0axjm0mr6c2zas5fnla981k";
+      sha256 = "1c187jmdkz6nqfgf4sz9f4da6wzbn2mf99qcjr56nz8sr2zmk2wv";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 73146d8b67d..37c5f926e87 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -55,6 +55,13 @@ rec {
     features.apparmor = true;
   };
 
+  apparmor_3_4 = rec {
+    version = "3.4";
+    name = "apparmor-${version}";
+    patch = makeAppArmorPatch { inherit apparmor version; };
+    features.apparmor = true;
+  };
+
   sec_perm_2_6_24 =
     { name = "sec_perm-2.6.24";
       patch = ./sec_perm-2.6.24.patch;
@@ -147,6 +154,15 @@ rec {
       patch = ./mips-ext3-n32.patch;
     };
 
+  grsecurity_2_9_1_3_2_48 =
+    { name = "grsecurity-2.9.1-3.2.48";
+      patch =
+        (fetchurl {
+           url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.48-201307212241.patch;
+           sha256 = "1llgrcd7ynxx60dn05bcbysd6a1091wwxkck4d15gvp71s9r6scm";
+         });
+    };
+
   guruplug_defconfig =
     { # Default configuration for the GuruPlug.  From
       # <http://www.openplug.org/plugwiki/images/c/c6/Guruplug-patchset-2.6.33.2.tar.bz2>.
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 83de0effcec..04924f013a4 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   preConfigure = ''
     cd tools/perf
     sed -i s,/usr/include/elfutils,$elfutils/include/elfutils, Makefile
-    -f bash_completion && sed -i 's,^have perf,_have perf,' bash_completion
+    [ -f bash_completion ] && sed -i 's,^have perf,_have perf,' bash_completion
     export makeFlags="DESTDIR=$out $makeFlags"
   '';
 
diff --git a/pkgs/os-specific/linux/kqemu/default.nix b/pkgs/os-specific/linux/kqemu/default.nix
deleted file mode 100644
index 97b7c495bb3..00000000000
--- a/pkgs/os-specific/linux/kqemu/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, kernelDev, perl }:
-
-stdenv.mkDerivation rec {
-  name = "kqemu-1.4.0pre1-${kernelDev.version}";
-  
-  src = fetchurl {
-    url = "http://www.nongnu.org/qemu/${name}.tar.gz";
-    sha256 = "14dlmawn3gia1j401ag5si5k1a1vav7jpv86rl37p1hwmr7fihxs";
-  };
-
-  buildInputs = [ perl ];
-  
-  configureFlags = [ ''--PREFIX=$out'' ''--kernel-path=$(ls -d ${kernelDev}/lib/modules/*/build)'' ];
-  
-  preConfigure = '' 
-    sed -e '/#include/i#include <linux/sched.h>' -i kqemu-linux.c
-
-    sed -e 's/memset/mymemset/g; s/memcpy/mymemcpy/g; s/void [*]my/static void *my/g' -i common/kernel.c
-    sed -e 's/`uname -r`/'"$(basename ${kernelDev}/lib/modules/*)"'/' -i install.sh
-    sed -e '/kernel_path=/akernel_path=$out$kernel_path' -i install.sh
-    sed -e '/depmod/d' -i install.sh
-    cat install.sh
-  '';
-
-  meta = {
-    description = "Kernel module for QEMU acceleration";
-  }; 
-}
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index c2a9deaa11f..c1dec8b926a 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "lxc-0.9.0";
 
   src = fetchurl {
-    url = "http://lxc.sf.net/download/lxc/${name}.tar.gz";
+    url = "mirror://sourceforge/lxc/${name}.tar.gz";
     sha256 = "0821clxymkgp71n720xj5ngs22s2v8jks68f5j4vypycwvm6f5qy";
   };
 
diff --git a/pkgs/os-specific/linux/ndiswrapper/default.nix b/pkgs/os-specific/linux/ndiswrapper/default.nix
index 109faac97c5..e2db1a4106b 100644
--- a/pkgs/os-specific/linux/ndiswrapper/default.nix
+++ b/pkgs/os-specific/linux/ndiswrapper/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   # should we use unstable? 
   src = fetchurl {
-    url = http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-1.56.tar.gz;
+    url = mirror://sourceforge/ndiswrapper/ndiswrapper-1.56.tar.gz;
     sha256 = "10yqg1a08v6z1qm1qr1v4rbhl35c90gzrazapr09vp372hky8f57";
   };
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index c1e60a79082..28e2bd5642c 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -74,7 +74,7 @@ installPhase() {
         # Install the programs.
         mkdir -p $out/bin
 
-        for i in nvidia-settings nvidia-xconfig; do
+        for i in nvidia-settings nvidia-smi nvidia-xconfig; do
 	    cp $i $out/bin/$i
 	    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
 	        --set-rpath $out/lib:$programPath:$glPath $out/bin/$i
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 809ae316516..9e750629b82 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -8,25 +8,35 @@
 
 with stdenv.lib;
 
-let versionNumber = "319.17"; in
+let
+
+  versionNumber = "319.32";
+  kernel310patch = fetchurl {
+    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/nvidia-linux-3.10.patch?h=packages/nvidia";
+    sha256 = "0nhzg6jdk9sf1vzj519gqi8a2n9xydhz2bcz472pss2cfgbc1ahb";
+  };
+
+in
 
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
 
   builder = ./builder.sh;
 
-  patches = [ ./version-test.patch ];
+  patches =
+    [ ./version-test.patch ]
+    ++ optional (!libsOnly && versionAtLeast kernelDev.version "3.10") kernel310patch;
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "1ja5hc74dff8nhsccqhd5km732a8mafdv7xvzj39asw2r3ma37bp";
+        sha256 = "02rjiizgb9mgal0qrklzjvfzybv139yv6za8xp045k7qdyqvsqzf";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "0a6yir07x38b0z51pi7kqgsaidhsib781rd53bpkkkk33yzviaqj";
+        sha256 = "18268q3pa6v4ygfnlm888jmp84dmg1w9c323cr51pn5jg54vygcm";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/pam_console/default.nix b/pkgs/os-specific/linux/pam_console/default.nix
index fbdcce2d1b1..7c1e83c0ed6 100644
--- a/pkgs/os-specific/linux/pam_console/default.nix
+++ b/pkgs/os-specific/linux/pam_console/default.nix
@@ -9,7 +9,7 @@ let
 in
    
 stdenv.mkDerivation {
-  name = "pam_console-0.99.5";
+  name = "pam_console-0.99.5-1";
    
   src = fetchurl {
     url = http://cvs.fedora.redhat.com/repo/dist/pam/pam-redhat-0.99.5-1.tar.bz2/e2edde7861c48195728bc531e5a277e0/pam-redhat-0.99.5-1.tar.bz2;
diff --git a/pkgs/os-specific/linux/statifier/default.nix b/pkgs/os-specific/linux/statifier/default.nix
index 4e28dce1670..b4e37a36ff5 100644
--- a/pkgs/os-specific/linux/statifier/default.nix
+++ b/pkgs/os-specific/linux/statifier/default.nix
@@ -9,7 +9,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://sourceforge.net/projects/statifier/files/statifier/statifier-${version}.tar.gz";
+    url = "mirror://sourceforge/statifier/statifier-${version}.tar.gz";
     sha256 = "0lhdbp7hc15nn6r31yxx7i993a5k8926n5r6j2gi2vvkmf1hciqf";
   };
 
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index 3956b5e04d0..b7d139a534f 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -11,16 +11,17 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "usbutils-006";
+  name = "usbutils-007";
 
   src = fetchurl {
-    url = mirror://kernel/linux/utils/usb/usbutils/usbutils-006.tar.xz;
-    sha256 = "03pd57vv8c6x0hgjqcbrxnzi14h8hcghmapg89p8k5zpwpkvbdfr";
+    url = "mirror://kernel/linux/utils/usb/usbutils/${name}.tar.xz";
+    sha256 = "197gpbxnspy6ncqv5mziaikcfqgb3irbqqlfwjgzvh5v4hbs14vm";
   };
 
   buildInputs = [ pkgconfig libusb1 ];
 
-  preBuild = "bunzip2 < ${usbids} > usb.ids";
+  # currently up-to-date
+  #preBuild = "bunzip2 < ${usbids} > usb.ids";
 
   meta = {
     homepage = http://www.linux-usb.org/;
diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix
new file mode 100644
index 00000000000..877be1d74b8
--- /dev/null
+++ b/pkgs/servers/apcupsd/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, pkgconfig, systemd, utillinux, coreutils, nettools, man
+, enableCgiScripts ? true, gd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "apcupsd";
+  name = "${pname}-3.14.10";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${name}.tar.gz";
+    sha256 = "0ci0xyg1hzj8lnmm3vxfsvgpb3wdgh1ii3gb8jgdxyqnk7nba1q7";
+  };
+
+  buildInputs = [ pkgconfig utillinux man ] ++ stdenv.lib.optional enableCgiScripts gd;
+
+  # ./configure ignores --prefix, so we must specify some paths manually
+  # There is no real reason for a bin/sbin split, so just use bin.
+  preConfigure = ''
+    export ac_cv_path_SHUTDOWN=${systemd}/sbin/shutdown
+    export ac_cv_path_WALL=${utillinux}/bin/wall
+    sed -i 's|/bin/cat|${coreutils}/bin/cat|' configure
+    export configureFlags="\
+        --bindir=$out/bin \
+        --sbindir=$out/bin \
+        --sysconfdir=$out/etc/apcupsd \
+        --mandir=$out/share/man \
+        --with-halpolicydir=$out/share/halpolicy \
+        --localstatedir=/var/ \
+        --with-nologin=/run \
+        --with-log-dir=/var/log/apcupsd \
+        --with-pwrfail-dir=/run/apcupsd \
+        --with-lock-dir=/run/lock \
+        --with-pid-dir=/run \
+        --enable-usb \
+        ${stdenv.lib.optionalString enableCgiScripts "--enable-cgi --with-cgi-bin=$out/libexec/cgi-bin"}
+        "
+  '';
+
+  postInstall = ''
+    for file in "$out"/etc/apcupsd/*; do
+        sed -i -e 's|^WALL=.*|WALL="${utillinux}/bin/wall"|g' \
+               -e 's|^HOSTNAME=.*|HOSTNAME=`${nettools}/bin/hostname`|g' \
+               "$file"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A daemon for controlling APC UPSes";
+    homepage = http://www.apcupsd.com/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 4d256f92626..6c4841dc8af 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, openssl, libtool, perl, libxml2 }:
 
-let version = "9.9.3-P1"; in
+let version = "9.9.3-P2"; in
 
 stdenv.mkDerivation rec {
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "0ddlvdxsyibm24v1wzbknywvalsrvl06gbvsrigpqc1vgkj25ahv";
+    sha256 = "0y66ns28n3bcq8hp8srgpaxi9ix7myh2rlcsrr3qpwvkgdnb12jy";
   };
 
   patchPhase = ''
diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix
index 12dfc20e736..8ad16a3df2e 100644
--- a/pkgs/servers/firebird/default.nix
+++ b/pkgs/servers/firebird/default.nix
@@ -22,7 +22,7 @@
 */
 
 stdenv.mkDerivation rec {
-  version = "2.5.2";
+  version = "2.5.2.26539-0";
   name = "firebird-${version}";
 
   configureFlags =
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     ++ (stdenv.lib.optional superServer "--enable-superserver=true");
 
   src = fetchurl {
-    url = "mirror://sourceforge/firebird/Firebird-${version}.26539-0.tar.bz2";
+    url = "mirror://sourceforge/firebird/Firebird-${version}.tar.bz2";
     sha256 = "1j5bcfl35hr6i4lcd08zls19bal2js3ar16gnwkzbhwxkxbyb43b";
   };
 
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index 23454d048b7..e9b1dba22e1 100644
--- a/pkgs/servers/http/apache-httpd/2.2.nix
+++ b/pkgs/servers/http/apache-httpd/2.2.nix
@@ -12,12 +12,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert mpm == "prefork" || mpm == "worker" || mpm == "event";
 
 stdenv.mkDerivation rec {
-  version = "2.2.24";
+  version = "2.2.25";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha1 = "f73bce14832ec40c1aae68f4f8c367cab2266241";
+    sha1 = "e34222d1a8de38825397a1c70949bcc5836a1236";
   };
 
   buildInputs = [perl apr aprutil pcre] ++
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 52a17ea399c..083dbc482f0 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -9,11 +9,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "nginx-1.2.8";
+  name = "nginx-${meta.version}";
 
   src = fetchurl {
     url = "http://nginx.org/download/${name}.tar.gz";
-    sha256 = "0dvi8n3ljh3zz80r5zkb5q7f94mg62kkakn0wsqi3lxyqnc7r56j";
+    sha256 = "06ficmjiya3m8mdlyq3bgqx604h475n77qc5c502kfjijzld39dw";
   };
 
   buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat;
@@ -41,5 +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";
   };
 }
diff --git a/pkgs/servers/http/nginx/default.upstream b/pkgs/servers/http/nginx/default.upstream
new file mode 100644
index 00000000000..f6a12eedda4
--- /dev/null
+++ b/pkgs/servers/http/nginx/default.upstream
@@ -0,0 +1,8 @@
+url http://nginx.org/en/download.html
+version_link '.*-([0-9]+[.][0-9]*[02468]([.][0-9]+)*)[.]tar[.][a-z0-9]*$' 
+
+do_overwrite() {
+  ensure_hash
+  set_var_value version "$CURRENT_VERSION"
+  set_var_value sha256 "$CURRENT_HASH" 2
+}
diff --git a/pkgs/servers/http/thttpd/default.nix b/pkgs/servers/http/thttpd/default.nix
new file mode 100644
index 00000000000..e03183cbe49
--- /dev/null
+++ b/pkgs/servers/http/thttpd/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "thttpd-${version}";
+  version = "2.25b";
+
+  src = fetchurl {
+    url = "http://acme.com/software/thttpd/${name}.tar.gz";
+    sha256 = "0q13sfkh6amn5wk0ccbmxq3mnhlm8g5pnyk910fa5xngn449nw87";
+  };
+
+  prePatch = ''
+    sed -i -e 's/getline/getlineX/' extras/htpasswd.c
+  '';
+
+  preInstall = ''
+    ensureDir "$out/man/man1"
+    sed -i -e 's/-o bin -g bin *//' Makefile
+    sed -i -e '/chgrp/d' extras/Makefile
+  '';
+
+  meta = {
+    description = "Tiny/turbo/throttling HTTP server";
+    homepage = "http://www.acme.com/software/thttpd/";
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/servers/mail/dovecot-pigeonhole/default.nix b/pkgs/servers/mail/dovecot-pigeonhole/default.nix
new file mode 100644
index 00000000000..844219925b1
--- /dev/null
+++ b/pkgs/servers/mail/dovecot-pigeonhole/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, dovecot22, openssl}:
+
+stdenv.mkDerivation rec {
+  name = "dovecot-pigeonhole-${version}";
+  version = "0.4.1";
+
+  src = fetchurl {
+    url = "http://www.rename-it.nl/dovecot/2.2/dovecot-2.2-pigeonhole-${version}.tar.gz";
+    sha256 = "0vk9khwijl8qbjlm1q36a5dvpilrminp756n87c452kc3cfgc71n";
+  };  
+
+  buildInputs = [ dovecot22 openssl ];
+
+  preConfigure = ''
+    substituteInPlace src/managesieve/managesieve-settings.c --replace \
+      ".executable = \"managesieve\"" \
+      ".executable = \"$out/libexec/dovecot/managesieve\""
+    substituteInPlace src/managesieve-login/managesieve-login-settings.c --replace \
+      ".executable = \"managesieve-login\"" \
+      ".executable = \"$out/libexec/dovecot/managesieve-login\""
+  ''; 
+
+  configureFlags = [ 
+    "--with-dovecot=${dovecot22}/lib/dovecot"
+    "--without-dovecot-install-dirs"
+    "--with-moduledir=$(out)/lib/dovecot"
+  ];  
+
+  meta = with stdenv.lib; {
+    homepage = http://pigeonhole.dovecot.org/;
+    description = "A sieve plugin for the Dovecot IMAP server.";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.rickynils ];
+  };  
+}
diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
new file mode 100644
index 00000000000..cce63fe250c
--- /dev/null
+++ b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
@@ -0,0 +1,114 @@
+diff -ur dovecot-2.2.2-orig/src/auth/main.c dovecot-2.2.2/src/auth/main.c
+--- dovecot-2.2.2-orig/src/auth/main.c	2013-03-13 15:26:46.000000000 +0100
++++ dovecot-2.2.2/src/auth/main.c	2013-05-20 20:23:58.126024535 +0200
+@@ -193,7 +193,7 @@
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.filter_callback = auth_module_filter;
+ 
+-	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/var/lib/dovecot/modules/auth", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	if (!worker)
+@@ -223,7 +223,7 @@
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.ignore_missing = TRUE;
+ 
+-	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
++	modules = module_dir_load_missing(modules, "/var/lib/dovecot/modules/auth", names,
+ 					  &mod_set);
+ 	module_dir_init(modules);
+ }
+diff -ur dovecot-2.2.2-orig/src/config/all-settings.c dovecot-2.2.2/src/config/all-settings.c
+--- dovecot-2.2.2-orig/src/config/all-settings.c	2013-05-15 12:20:55.000000000 +0200
++++ dovecot-2.2.2/src/config/all-settings.c	2013-05-21 00:31:46.624073562 +0200
+@@ -766,7 +766,7 @@
+ 	.last_valid_gid = 0,
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 
+ 	.mail_log_prefix = "%s(%u): ",
+ 
+@@ -3274,7 +3274,7 @@
+ 	.base_dir = PKG_RUNDIR,
+ 	.libexec_dir = PKG_LIBEXECDIR,
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 	.doveadm_socket_path = "doveadm-server",
+ 	.doveadm_worker_count = 0,
+ 	.doveadm_port = 0,
+diff -ur dovecot-2.2.2-orig/src/config/config-parser.c dovecot-2.2.2/src/config/config-parser.c
+--- dovecot-2.2.2-orig/src/config/config-parser.c	2013-02-04 22:05:42.000000000 +0100
++++ dovecot-2.2.2/src/config/config-parser.c	2013-05-20 20:23:58.106024534 +0200
+@@ -990,7 +990,7 @@
+ 
+ 	memset(&mod_set, 0, sizeof(mod_set));
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+-	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/var/lib/dovecot/modules/settings", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	i_array_init(&new_roots, 64);
+diff -ur dovecot-2.2.2-orig/src/dict/main.c dovecot-2.2.2/src/dict/main.c
+--- dovecot-2.2.2-orig/src/dict/main.c	2013-02-04 22:05:42.000000000 +0100
++++ dovecot-2.2.2/src/dict/main.c	2013-05-20 20:23:58.101024534 +0200
+@@ -61,7 +61,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.require_init_funcs = TRUE;
+ 
+-	modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/var/lib/dovecot/modules/dict", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	/* Register only after loading modules. They may contain SQL drivers,
+diff -ur dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c dovecot-2.2.2/src/doveadm/doveadm-settings.c
+--- dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c	2013-04-07 19:13:06.000000000 +0200
++++ dovecot-2.2.2/src/doveadm/doveadm-settings.c	2013-05-20 20:23:58.399024539 +0200
+@@ -76,7 +76,7 @@
+ 	.base_dir = PKG_RUNDIR,
+ 	.libexec_dir = PKG_LIBEXECDIR,
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 	.doveadm_socket_path = "doveadm-server",
+ 	.doveadm_worker_count = 0,
+ 	.doveadm_port = 0,
+diff -ur dovecot-2.2.2-orig/src/lib-fs/fs-api.c dovecot-2.2.2/src/lib-fs/fs-api.c
+--- dovecot-2.2.2-orig/src/lib-fs/fs-api.c	2013-04-18 16:07:26.000000000 +0200
++++ dovecot-2.2.2/src/lib-fs/fs-api.c	2013-05-20 20:23:58.099024534 +0200
+@@ -82,7 +82,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.ignore_missing = TRUE;
+ 
+-	fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
++	fs_modules = module_dir_load_missing(fs_modules, "/var/lib/dovecot/modules",
+ 					     module_name, &mod_set);
+ 	module_dir_init(fs_modules);
+ 
+diff -ur dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c
+--- dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c	2013-04-09 22:45:19.000000000 +0200
++++ dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c	2013-05-20 20:23:58.089024534 +0200
+@@ -28,7 +28,7 @@
+ 	memset(&mod_set, 0, sizeof(mod_set));
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
+-	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
++	ssl_module = module_dir_load("/var/lib/dovecot/modules", plugin_name, &mod_set);
+ 
+ 	ssl_vfuncs = module_get_symbol(ssl_module, "ssl_vfuncs");
+ 	if (ssl_vfuncs == NULL) {
+diff -ur dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.2/src/lib-storage/mail-storage-settings.c
+--- dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c	2013-05-15 12:20:00.000000000 +0200
++++ dovecot-2.2.2/src/lib-storage/mail-storage-settings.c	2013-05-20 20:23:57.858024531 +0200
+@@ -260,7 +260,7 @@
+ 	.last_valid_gid = 0,
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 
+ 	.mail_log_prefix = "%s(%u): ",
+ 
diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix
new file mode 100644
index 00000000000..15c3b65b754
--- /dev/null
+++ b/pkgs/servers/mail/dovecot/2.2.x.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, perl, systemd, openssl, pam, bzip2, zlib, openldap
+, inotifyTools }:
+
+stdenv.mkDerivation rec {
+  name = "dovecot-2.2.4";
+
+  buildInputs = [perl systemd openssl pam bzip2 zlib openldap inotifyTools];
+
+  src = fetchurl {
+    url = "http://dovecot.org/releases/2.2/${name}.tar.gz";
+    sha256 = "1i5x7l03q854h4j210cpzair4vak95saccp9gb5p4xx7ndggm3q1";
+  };
+
+  preConfigure = ''
+    substituteInPlace src/config/settings-get.pl --replace \
+      "/usr/bin/env perl" "${perl}/bin/perl"
+  '';
+
+  patches = [
+    # Make dovecot look for plugins in /var/lib/dovecot/modules
+    # so we can symlink plugins from several packages there
+    # The symlinking needs to be done in NixOS, as part of the
+    # dovecot service start-up
+    ./2.2.x-module_dir.patch
+  ];
+
+  configureFlags = [
+    # It will hardcode this for /var/lib/dovecot.
+    # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211
+    "--localstatedir=/var"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--with-ldap"
+  ];
+
+  meta = {
+    homepage = "http://dovecot.org/";
+    description = "Open source IMAP and POP3 email server written with security primarily in mind";
+    maintainers = with stdenv.lib.maintainers; [viric simons rickynils];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
new file mode 100644
index 00000000000..fc518e4f889
--- /dev/null
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, libevent, zlib, openssl, db4, bison, pam }:
+
+stdenv.mkDerivation rec {
+  name = "opensmtpd-${version}";
+  version = "201307151923p1";
+
+  buildInputs = [ libevent zlib openssl db4 bison pam ];
+
+  src = fetchurl {
+    url = "http://www.opensmtpd.org/archives/${name}.tar.gz";
+    sha256 = "0cggq60zzz5mgj093pmgwjp4bm6znnhyv6ibp1vhkba7cxjavr4g";
+  };  
+
+  configureFlags = [ 
+    "--with-mantype=doc"
+    "--with-pam"
+    "--without-bsd-auth"
+    "--with-sock-dir=/run"
+    "--with-privsep-user=smtpd"
+    "--with-queue-user=smtpq"
+  ];  
+
+  meta = {
+    homepage = "http://www.postfix.org/";
+    description = ''
+      A free implementation of the server-side SMTP protocol as defined by
+      RFC 5321, with some additional standard extensions.
+    '';
+    license = stdenv.lib.licenses.isc;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
+}
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 17c674b4d06..1c3c3f706e4 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation {
     homepage = http://memcached.org/;
     license = "bsd";
     maintainers = [ stdenv.lib.maintainers.coconnor ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
 
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index fef5010218c..90206f35853 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, gettext
-, enableJabber ? false, iksemel ? null }:
+, enableJabber ? false, minmay ? null }:
 
-assert enableJabber -> iksemel != null;
+assert enableJabber -> minmay != null;
 
 let
 
@@ -37,7 +37,15 @@ in
       "--with-postgresql"
       "--with-libcurl"
       "--with-gettext"
-    ] ++ stdenv.lib.optional enableJabber "--with-jabber=${iksemel}";
+    ] ++ stdenv.lib.optional enableJabber "--with-jabber=${minmay}";
+
+    postPatch = ''
+      sed -i -e 's/iksemel/minmay/g' configure src/libs/zbxmedia/jabber.c
+      sed -i \
+        -e '/^static ikstransport/,/}/d' \
+        -e 's/iks_connect_with\(.*\), &zbx_iks_transport/mmay_connect_via\1/' \
+        -e 's/iks/mmay/g' -e 's/IKS/MMAY/g' src/libs/zbxmedia/jabber.c
+    '';
 
     buildInputs = [ pkgconfig postgresql curl openssl zlib ];
 
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 54c9d160565..43da84dcb81 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -18,8 +18,7 @@
 , samplerateSupport ? true, libsamplerate
 , mmsSupport ? true, libmms
 , mpg123Support ? true, mpg123
-, aacSupport ? true, faad2
-}:
+, aacSupport ? true, faad2 }:
 
 let
 
@@ -28,17 +27,20 @@ let
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
 
 in stdenv.mkDerivation rec {
-  name = "mpd-0.17.3";
+  name = "mpd-0.17.4";
   src = fetchurl {
-    url = "mirror://sourceforge/musicpd/${name}.tar.bz2";
-    sha256 = "1iilimlyhw22lpbqiab4qprznxg9c4d68fkrr9jww765b4c7x1ip";
+    url = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz";
+    sha256 = "06diyprg65xx0c0bgxdwlgrc5bhwy6cf39rabwnv9ikhimh94ir3";
   };
 
-  buildInputs = [ pkgconfig glib systemd ]
-    ++ opt alsaSupport alsaLib
+  buildInputs = [ pkgconfig glib ]
+    ++ opt (!stdenv.isDarwin) systemd
+    ++ opt (!stdenv.isDarwin && alsaSupport) alsaLib
     ++ opt flacSupport flac
     ++ opt vorbisSupport libvorbis
-    ++ opt madSupport libmad
+    # using libmad to decode mp3 files on darwin is causing a segfault -- there
+    # is probably a solution, but I'm disabling it for now
+    ++ opt (!stdenv.isDarwin && madSupport) libmad
     ++ opt id3tagSupport libid3tag
     ++ opt mikmodSupport libmikmod
     ++ opt shoutSupport libshout
@@ -47,7 +49,7 @@ in stdenv.mkDerivation rec {
     ++ opt soupSupport libsoup
     ++ opt bzip2Support bzip2
     ++ opt audiofileSupport audiofile
-    ++ opt ffadoSupport ffado
+    ++ opt (!stdenv.isDarwin && ffadoSupport) ffado
     ++ opt ffmpegSupport ffmpeg
     ++ opt fluidsynthSupport fluidsynth
     ++ opt samplerateSupport libsamplerate
@@ -56,45 +58,47 @@ in stdenv.mkDerivation rec {
     ++ opt aacSupport faad2
     ++ opt zipSupport zziplib;
 
-  configureFlags = [
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    (mkFlag alsaSupport "alsa")
-    (mkFlag flacSupport "flac")
-    (mkFlag vorbisSupport "vorbis")
-    (mkFlag vorbisSupport "vorbis-encoder")
-    (mkFlag madSupport "mad")
-    (mkFlag mikmodSupport "mikmod")
-    (mkFlag id3tagSupport "id3")
-    (mkFlag shoutSupport "shout")
-    (mkFlag sqliteSupport "sqlite")
-    (mkFlag curlSupport "curl")
-    (mkFlag soupSupport "soup")
-    (mkFlag audiofileSupport "audiofile")
-    (mkFlag bzip2Support "bzip2")
-    (mkFlag ffadoSupport "ffado")
-    (mkFlag ffmpegSupport "ffmpeg")
-    (mkFlag fluidsynthSupport "fluidsynth")
-    (mkFlag zipSupport "zzip")
-    (mkFlag samplerateSupport "lsr")
-    (mkFlag mmsSupport "mms")
-    (mkFlag mpg123Support "mpg123")
-    (mkFlag aacSupport "aac")
-  ];
+  configureFlags =
+    [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
+      (mkFlag flacSupport "flac")
+      (mkFlag vorbisSupport "vorbis")
+      (mkFlag vorbisSupport "vorbis-encoder")
+      (mkFlag (!stdenv.isDarwin && madSupport) "mad")
+      (mkFlag mikmodSupport "mikmod")
+      (mkFlag id3tagSupport "id3")
+      (mkFlag shoutSupport "shout")
+      (mkFlag sqliteSupport "sqlite")
+      (mkFlag curlSupport "curl")
+      (mkFlag soupSupport "soup")
+      (mkFlag audiofileSupport "audiofile")
+      (mkFlag bzip2Support "bzip2")
+      (mkFlag (!stdenv.isDarwin && ffadoSupport) "ffado")
+      (mkFlag ffmpegSupport "ffmpeg")
+      (mkFlag fluidsynthSupport "fluidsynth")
+      (mkFlag zipSupport "zzip")
+      (mkFlag samplerateSupport "lsr")
+      (mkFlag mmsSupport "mms")
+      (mkFlag mpg123Support "mpg123")
+      (mkFlag aacSupport "aac")
+      "--enable-debugging" ]
+    ++ opt (!stdenv.isDarwin)
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system";
 
   NIX_LDFLAGS = ''
     ${if shoutSupport then "-lshout" else ""}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A flexible, powerful daemon for playing music";
+    homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ astsmtl ];
+    platforms   = platforms.unix;
+
     longDescription = ''
       Music Player Daemon (MPD) is a flexible, powerful daemon for playing
       music. Through plugins and libraries it can play a variety of sound
       files while being controlled by its network protocol.
     '';
-    homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
-    license = "GPLv2";
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index 612db162e5c..11dff324420 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -1,25 +1,15 @@
 { stdenv, fetchurl, scons, boost, v8, gperftools, pcre, snappy }:
 
-with stdenv.lib;
-
-let installerPatch = fetchurl {
-      url = "https://jira.mongodb.org/secure/attachment/18160/SConscript.client.patch";
-      sha256 = "0n60fh2r8i7m6g113k0iw4adc8jv2by4ahrd780kxg47kzfgw06a";
-    };
-
-in
-stdenv.mkDerivation rec {
-  name = "mongodb-2.4.3";
+let version = "2.4.5"; in stdenv.mkDerivation rec {
+  name = "mongodb-${version}";
 
   src = fetchurl {
-    url = http://downloads.mongodb.org/src/mongodb-src-r2.4.3.tar.gz;
-    sha256 = "1k653xmwphdk88z2byz5fglr8xcsm8nw13prls1rx16qnc6h1pb1";
+    url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz";
+    sha256 = "01c7lb3jdr51gy7459vg5rg002xxg0mj79vlhy54n50kr31cnxmm";
   };
 
   nativeBuildInputs = [ scons boost v8 gperftools pcre snappy ];
 
-  patches = [ installerPatch ];
-
   postPatch = ''
     substituteInPlace SConstruct \
         --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR" \
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 33965299a9b..8d8a677647c 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "rpcbind-0.2.0";
   
   src = fetchurl {
-    url = "http://freefr.dl.sourceforge.net/project/rpcbind/rpcbind/0.2.0/rpcbind-0.2.0.tar.bz2";
+    url = "mirror://sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2";
     sha256 = "c92f263e0353887f16379d7708ef1fb4c7eedcf20448bc1e4838f59497a00de3";
   };
 
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 50e07f27329..599f6ee31f3 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "sabnzbd-0.4.12";
   
   src = fetchurl {
-    url = http://mesh.dl.sourceforge.net/project/sabnzbdplus/sabnzbdplus/sabnzbd-0.4.12/SABnzbd-0.4.12-src.tar.gz;
+    url = mirro://sourceforge/sabnzbdplus/SABnzbd-0.4.12-src.tar.gz;
     sha256 = "35ce4172688925ef608fba433ff676357dab7d2abdc1cf83112a1c99682fdd32";
   };
 
diff --git a/pkgs/servers/xmpp/pyIRCt/default.nix b/pkgs/servers/xmpp/pyIRCt/default.nix
index 27982601f73..422ddd8c73d 100644
--- a/pkgs/servers/xmpp/pyIRCt/default.nix
+++ b/pkgs/servers/xmpp/pyIRCt/default.nix
@@ -9,7 +9,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://prdownloads.sourceforge.net/sourceforge/xmpppy/irc-transport-${version}.tar.gz";
+    url = "mirror://sourceforge/xmpppy/irc-transport-${version}.tar.gz";
     sha256 = "0gbc0dvj1p3088b6x315yjrlwnc5vvzp0var36wlf9z60ghvk8yb";
   };
 
diff --git a/pkgs/shells/ipython/default.nix b/pkgs/shells/ipython/default.nix
index 84ca7f04e7e..f8fda4f051b 100644
--- a/pkgs/shells/ipython/default.nix
+++ b/pkgs/shells/ipython/default.nix
@@ -13,12 +13,12 @@ assert qtconsoleSupport == true -> pyqt4 != null;
 assert pylabQtSupport == true -> pyqt4 != null && sip != null;
 
 buildPythonPackage rec {
-  name = "ipython-0.13.1";
+  name = "ipython-0.13.2";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/i/ipython/${name}.tar.gz";
-    sha256 = "1h7q2zlyfn7si2vf6gnq2d0krkm1f5jy5nbi105by7zxqjai1grv";
+    sha256 = "1sh0n47i1zxqmbzjv6iqc66c8pdk9spzgzchgmhqscgjvyhyxyqp";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/X11/autocutsel/default.nix b/pkgs/tools/X11/autocutsel/default.nix
index 871dc5e130a..f4776933e53 100644
--- a/pkgs/tools/X11/autocutsel/default.nix
+++ b/pkgs/tools/X11/autocutsel/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   inherit name;
  
   src = fetchurl {
-    url = "http://savannah.nongnu.org/download/autocutsel/${name}.tar.gz";
+    url = "mirror://savannah/autocutsel/${name}.tar.gz";
     sha256 = "0hp335qq57l0kp58pfwb0bk930zx5497frq8y0lzr4icvk1fpw5y";
   };
  
diff --git a/pkgs/tools/X11/wmctrl/default.nix b/pkgs/tools/X11/wmctrl/default.nix
new file mode 100644
index 00000000000..f4705bdb0d4
--- /dev/null
+++ b/pkgs/tools/X11/wmctrl/default.nix
@@ -0,0 +1,20 @@
+{stdenv, fetchurl, libX11, glib, pkgconfig, libXmu }:
+
+stdenv.mkDerivation rec {
+  
+  name = "wmctrl-1.07";
+ 
+  src = fetchurl {
+    url = "http://tomas.styblo.name/wmctrl/dist/${name}.tar.gz";
+    sha256 = "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np";
+  };
+ 
+  buildInputs = [ libX11 libXmu glib pkgconfig ];
+
+  meta = {
+    homepage = http://tomas.styblo.name/wmctrl/;
+    description = "wmctrl is a UNIX/Linux command line tool to interact with an EWMH/NetWM compatible X Window Manager";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/tools/admin/webdruid/src-for-default.nix b/pkgs/tools/admin/webdruid/src-for-default.nix
index edc770a5fbb..73102be6afe 100644
--- a/pkgs/tools/admin/webdruid/src-for-default.nix
+++ b/pkgs/tools/admin/webdruid/src-for-default.nix
@@ -1,7 +1,7 @@
 rec {
   advertisedUrl="http://downloads.sourceforge.net/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz";
   version = "0.6.0-alpha5";
-  url="http://downloads.sourceforge.net/webdruid/files/webdruid/${version}/webdruid-${version}.tar.gz";
+  url="mirror://sourceforge/webdruid/webdruid-${version}.tar.gz";
   hash = "1aiqffccayvf02snl9la62zqb1674cp4rv19af6xyxgvw4334hw0";
   name = "webdruid-0.6.0-alpha5";
   
diff --git a/pkgs/tools/archivers/atool/default.nix b/pkgs/tools/archivers/atool/default.nix
index d376f75a552..f041f2050ea 100644
--- a/pkgs/tools/archivers/atool/default.nix
+++ b/pkgs/tools/archivers/atool/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "atool-0.39";
+  name = "atool-0.39.0";
   src = fetchurl {
-    url = http://savannah.nongnu.org/download/atool/atool-0.39.0.tar.gz;
+    url = mirror://savannah/atool/atool-0.39.0.tar.gz;
     sha256 = "aaf60095884abb872e25f8e919a8a63d0dabaeca46faeba87d12812d6efc703b";
   };
 
diff --git a/pkgs/tools/archivers/cromfs/default.nix b/pkgs/tools/archivers/cromfs/default.nix
index 3512d62223f..fdba02d12b7 100644
--- a/pkgs/tools/archivers/cromfs/default.nix
+++ b/pkgs/tools/archivers/cromfs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, fuse, perl }:
 
 stdenv.mkDerivation rec {
-  name = "cromfs-1.5.10";
+  name = "cromfs-1.5.10.1";
   
   src = fetchurl {
     url = "http://bisqwit.iki.fi/src/arch/${name}.tar.bz2";
-    sha256 = "1w079zb5scv6bj919ndr0fkiirq2bkyjrnmwqrr9yzwbyinzg73j";
+    sha256 = "0fg6vnbxr5jk4gqj31yqc9fj1gp3bj955qhxav28nvc6sbql7ac2";
   };
 
   patchPhase = ''sed -i 's@/bin/bash@/bin/sh@g' configure'';
diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix
new file mode 100644
index 00000000000..ecdf40be0a5
--- /dev/null
+++ b/pkgs/tools/backup/httrack/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, zlib, openssl }:
+
+stdenv.mkDerivation rec {
+  version = "3.47.21";
+  name = "httrack-${version}";
+
+  src = fetchurl {
+    url = "http://mirror.httrack.com/httrack-${version}.tar.gz";
+    sha256 = "1jqw0zx74jpi0svivvqhja3ixcrfkh9sbi9fwfw83jga27bc1sp0";
+  };
+
+  buildInputs = [ zlib openssl ];
+
+  meta = {
+    homepage = "http://www.httrack.com";
+    description = "HTTrack is a free (GPL, libre/free software) and easy-to-use offline browser utility.";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/tools/backup/partimage/default.nix b/pkgs/tools/backup/partimage/default.nix
index d06ef2c8366..009dc90576b 100644
--- a/pkgs/tools/backup/partimage/default.nix
+++ b/pkgs/tools/backup/partimage/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = http://sourceforge.net/projects/partimage/files/stable/0.6.9/partimage-0.6.9.tar.bz2;
+    url = mirror://sourceforge/partimage/partimage-0.6.9.tar.bz2;
     sha256 = "0db6xiphk6xnlpbxraiy31c5xzj0ql6k4rfkmqzh665yyj0nqfkm";
   };
   configureFlags = "--with-ssl-headers=${openssl}/include/openssl";
diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix
index f108e6a5063..d52cbdebb67 100644
--- a/pkgs/tools/backup/rdiff-backup/default.nix
+++ b/pkgs/tools/backup/rdiff-backup/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "rdiff-backup-1.2.8";
 
   src = fetchurl {
-    url = http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz;
+    url = mirror://savannah/rdiff-backup/rdiff-backup-1.2.8.tar.gz;
     sha256 = "1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d";
   };
 
diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix
index bcf03356c68..ae432c6122a 100644
--- a/pkgs/tools/backup/tarsnap/default.nix
+++ b/pkgs/tools/backup/tarsnap/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, zlib, e2fsprogs }:
 
 stdenv.mkDerivation {
-  name = "tarsnap-1.0.33";
+  name = "tarsnap-1.0.35";
 
   src = fetchurl {
-    url = "https://www.tarsnap.com/download/tarsnap-autoconf-1.0.33.tgz";
-    sha256 = "0z8bmra3xms9vcgvkiy9fy1j97192z6w7n658j6zr5cniid8438c";
+    url = "https://www.tarsnap.com/download/tarsnap-autoconf-1.0.35.tgz";
+    sha256 = "16lc14rwrq84fz95j1g10vv0qki0qw73lzighidj5g23pib6g7vc";
   };
 
   buildInputs = [ openssl zlib e2fsprogs ];
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index b1fd5a10c2b..0b97f03a9ad 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, makeWrapper, qt4, utillinux, coreutils, which, p7zip, mtools, syslinux }:
 
-let version = "563"; in
+let version = "585"; in
 
 stdenv.mkDerivation rec {
   name = "unetbootin-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/unetbootin/UNetbootin/${version}/unetbootin-source-${version}.tar.gz";
-    sha256 = "1j4ka6rjf5akhcdb4pbfdrka9zflhch97b5i42zk1cf8hd6wx939";
+    sha256 = "1jwwmh4bfrsy4clmnmk9y7h5cd9nh2z3bbm6qwd5p5aw0ich9vk3";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix
index de29c34f150..03a8a7f169d 100644
--- a/pkgs/tools/compression/lzip/default.nix
+++ b/pkgs/tools/compression/lzip/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ texinfo ];
 
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/lzip/${name}.tar.gz";
+    url = "mirror://savannah/lzip/${name}.tar.gz";
     sha256 = "1rybhk2pxpfh2789ck9mrkdv3bpx7b7miwndlshb5vb02m9crxbz";
   };
 
diff --git a/pkgs/tools/compression/upx/default.nix b/pkgs/tools/compression/upx/default.nix
index f3b8037a9f1..4df2947d137 100644
--- a/pkgs/tools/compression/upx/default.nix
+++ b/pkgs/tools/compression/upx/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "upx-3.07";
   src = fetchurl {
-    url = http://upx.sourceforge.net/download/upx-3.07-src.tar.bz2;
+    url = mirror://sourceforge/upx/upx-3.07-src.tar.bz2;
     sha256 = "07pcgjn7x0a734mvhgqwz24qkm1rzqrkcp67pmagzz6i765cp7bs";
   };
 
diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix
index b0ee47e23b5..a98def32835 100644
--- a/pkgs/tools/filesystems/dosfstools/default.nix
+++ b/pkgs/tools/filesystems/dosfstools/default.nix
@@ -1,14 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dosfstools-3.0.11";
+  name = "dosfstools-3.0.21";
 
   src = fetchurl {
-    urls = [
-      "http://www.daniel-baumann.ch/software/dosfstools/${name}.tar.bz2"
-      "http://pkgs.fedoraproject.org/repo/pkgs/dosfstools/${name}.tar.bz2/8d2211d5bd813164e20740e7c852aa06/${name}.tar.bz2"
-    ];
-    sha256 = "1a6rzjy82f6579ywaln33g1wc7k8gbgjdss9q2q8daplac7pmcll";
+    url = "http://daniel-baumann.ch/files/software/dosfstools/${name}.tar.xz";
+    sha256 = "12c9ilcpknm7hg3czkc50azndd0yjdj4jjnvizhwqxy3g0gm2960";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/tools/filesystems/extundelete/default.nix b/pkgs/tools/filesystems/extundelete/default.nix
new file mode 100644
index 00000000000..3d8fa0827ca
--- /dev/null
+++ b/pkgs/tools/filesystems/extundelete/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, e2fsprogs }:
+
+stdenv.mkDerivation rec {
+  version = "0.2.4";
+  name = "extundelete-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/extundelete/extundelete-0.2.4.tar.bz2";
+    sha256 = "1x0r7ylxlp9lbj3d7sqf6j2a222dwy2nfpff05jd6mkh4ihxvyd1";
+  };
+
+  buildInputs = [ e2fsprogs ];
+
+  meta = with stdenv.lib; {
+    description = "utility that can recover deleted files from an ext3 or ext4 partition";
+    homepage = http://extundelete.sourceforge.net/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.iElectric ];
+  };
+}
diff --git a/pkgs/tools/filesystems/jfsrec/default.nix b/pkgs/tools/filesystems/jfsrec/default.nix
index 91060795e7c..fb5b72d714a 100644
--- a/pkgs/tools/filesystems/jfsrec/default.nix
+++ b/pkgs/tools/filesystems/jfsrec/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "jfsrec-pre-svn-7";
   
   src = fetchurl {
-    url = http://downloads.sourceforge.net/jfsrec/jfsrec-svn-7.tar.gz;
+    url = mirror://sourceforge/jfsrec/jfsrec-svn-7.tar.gz;
     sha256 = "163z6ljr05vw2k5mj4fim2nlg4khjyibrii95370pvn474mg28vg";
   };
 
diff --git a/pkgs/tools/filesystems/nixpart/default.nix b/pkgs/tools/filesystems/nixpart/default.nix
new file mode 100644
index 00000000000..36972573b35
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, buildPythonPackage, blivet
+# Propagated to blivet
+, useNixUdev ? null, udevSoMajor ? null
+}:
+
+let
+  blivetOverrides = stdenv.lib.filterAttrs (k: v: v != null) {
+    inherit useNixUdev udevSoMajor;
+  };
+in buildPythonPackage rec {
+  name = "nixpart-${version}";
+  version = "0.4.0";
+
+  src = fetchurl {
+    url = "https://github.com/aszlig/nixpart/archive/v${version}.tar.gz";
+    sha256 = "1kgiyqh7gndr0zs3qgi6r0dpy5p71d32c2k9kbd8pjf2xyyb6fk6";
+  };
+
+  propagatedBuildInputs = [ (blivet.override blivetOverrides) ];
+
+  doCheck = false;
+
+  meta = {
+    description = "NixOS storage manager/partitioner";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.aszlig ];
+  };
+}
diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix
index 946d18b8cc5..6f8ec54c4c0 100644
--- a/pkgs/tools/graphics/barcode/default.nix
+++ b/pkgs/tools/graphics/barcode/default.nix
@@ -12,8 +12,7 @@ let
     version="0.98";
     baseName="barcode";
     name="${baseName}-${version}";
-    # mirror://gnu/ doesn't work for this package
-    url="http://ftp.gnu.org/gnu/${baseName}/${name}.tar.gz";
+    url="mirror://gnu/${baseName}/${name}.tar.gz";
     hash="0ddn17a6hz817bchgjxrjg76v64kzl5zlll8x73ply5rg69f2aa2";
   };
 in
diff --git a/pkgs/tools/graphics/dmtx/default.nix b/pkgs/tools/graphics/dmtx/default.nix
index ae3a227a4fe..29c6b5ebf79 100644
--- a/pkgs/tools/graphics/dmtx/default.nix
+++ b/pkgs/tools/graphics/dmtx/default.nix
@@ -12,7 +12,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://prdownloads.sourceforge.net/libdmtx/libdmtx-${version}.tar.bz2";
+    url = "mirror://sourceforge/libdmtx/libdmtx-${version}.tar.bz2";
     sha256 = "0iin2j3ad7ldj32dwc04g28k54iv3lrc5121rgyphm7l9hvigbvk";
   };
 
diff --git a/pkgs/tools/graphics/editres/default.nix b/pkgs/tools/graphics/editres/default.nix
index 50f81c3ea4d..64222185044 100644
--- a/pkgs/tools/graphics/editres/default.nix
+++ b/pkgs/tools/graphics/editres/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "editres-1.0.6";
 
   src = fetchurl {
-    url = "http://xorg.freedesktop.org/releases/individual/app/${name}.tar.gz";
+    url = "mirror://xorg/individual/app/${name}.tar.gz";
     sha256 = "06kv7dmw6pzlqc46dbh8k9xpb6sn4ihh0bcpxq0zpvw2lm66dx45";
   };
 
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index 2af863e37bc..39e134ad906 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchsvn, pkgconfig, libjpeg, libpng, flex, zlib, perl, libxml2, makeWrapper, libX11 }:
+{ stdenv, fetchsvn, pkgconfig, libjpeg, libpng, flex, zlib, perl, libxml2, makeWrapper, libX11, libtiff }:
 
 let rev = 1742; in
 stdenv.mkDerivation {
@@ -12,18 +12,28 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_COMPILE = "-fPIC"; # Gentoo adds this on every platform
 
-  buildInputs = [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libX11 ];
+  buildInputs = [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libX11 libtiff ];
 
-  configurePhase = "cp config.mk.in config.mk";
+  configurePhase = ''
+    cp config.mk.in config.mk
+    substituteInPlace "config.mk" \
+        --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff}/lib/libtiff.so" \
+        --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff}/include" \
+        --replace "TIFFLIB_NEEDS_JPEG = Y" "TIFFLIB_NEEDS_JPEG = N" \
+        --replace "TIFFLIB_NEEDS_Z = Y" "TIFFLIB_NEEDS_Z = N"
+  '';
 
   preBuild = ''
-    export LDFLAGS=-lz
+    export LDFLAGS="-lz"
     substituteInPlace "pm_config.in.h" \
         --subst-var-by "rgbPath1" "$out/lib/rgb.txt" \
         --subst-var-by "rgbPath2" "/var/empty/rgb.txt" \
         --subst-var-by "rgbPath3" "/var/empty/rgb.txt"
+    touch lib/standardppmdfont.c
   '';
 
+  enableParallelBuilding = true;
+
   installPhase = ''
     make package pkgdir=$PWD/netpbmpkg
     # Pass answers to the script questions
@@ -51,5 +61,6 @@ stdenv.mkDerivation {
     homepage = http://netpbm.sourceforge.net/;
     description = "Toolkit for manipulation of graphic images";
     license = "GPL,free";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/pstoedit/default.nix b/pkgs/tools/graphics/pstoedit/default.nix
index b3d75106980..efdeffe1ad7 100644
--- a/pkgs/tools/graphics/pstoedit/default.nix
+++ b/pkgs/tools/graphics/pstoedit/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "pstoedit-3.50";
 
   src = fetchurl {
-    url = http://prdownloads.sourceforge.net/pstoedit/pstoedit-3.50.tar.gz;
+    url = mirror://sourceforge/pstoedit/pstoedit-3.50.tar.gz;
     sha256 = "04ap21fxj2zn6vj9mv7zknj4svcbkb1gxwfzxkw5i0sksx969c92";
   };
 
diff --git a/pkgs/tools/misc/bmon/default.nix b/pkgs/tools/misc/bmon/default.nix
new file mode 100644
index 00000000000..29a6db4e6d2
--- /dev/null
+++ b/pkgs/tools/misc/bmon/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, ncurses, confuse, libnl }:
+
+stdenv.mkDerivation {
+  name = "bmon-3.1";
+
+  src = fetchurl {
+    url = http://www.carisma.slowglass.com/~tgr/bmon/files/bmon-3.1.tar.gz;
+    sha256 = "005ib7c3g3cva0rdwsgl6hfakxd5yp88sf4bjxb6iarcm3ax18ky";
+  };
+
+  buildInputs = [ pkgconfig ncurses confuse libnl ];
+
+  meta = with stdenv.lib; {
+    description = "Network bandwidth monitor";
+    homepage = http://www.carisma.slowglass.com/~tgr/bmon/;
+    # Neither the homepage nor the source archive has license info, but in the
+    # latest git version there is a LICENSE file that is the 2-clause BSD
+    # license.
+    #  - https://github.com/tgraf/bmon/blob/master/LICENSE
+    #  - http://opensource.org/licenses/BSD-2-Clause
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/dmg2img/default.nix b/pkgs/tools/misc/dmg2img/default.nix
index b9a15ac6a20..75a9a2037db 100644
--- a/pkgs/tools/misc/dmg2img/default.nix
+++ b/pkgs/tools/misc/dmg2img/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, bzip2, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "dmg2img-1.6.2";
+  name = "dmg2img-1.6.4";
 
   src = fetchurl {
     url = "http://vu1tur.eu.org/tools/${name}.tar.gz";
-    sha256 = "1ibxjsrl9g877qi3jjpv0zdgl4x8j1vnd4y27q17a8my1jkhh5cg";
+    sha256 = "1vcrkphrxdn6dlna8j47a5zaxvdr74msf1sqnc4ldskf35k87fyb";
   };
- 
+
   buildInputs = [zlib bzip2 openssl];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 1fc03a4ebff..90d345daa13 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -1,11 +1,18 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "ethtool-3.2";
+stdenv.mkDerivation rec {
+  name = "ethtool-3.10";
 
   src = fetchurl {
-    url = mirror://kernel/software/network/ethtool/ethtool-3.2.tar.xz;
-    sha256 = "0g9ldaba3vwlsmf490j33y3fgsmpfzxlzzblwashl448f8lcfap7";
+    url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
+    sha256 = "0h0wvi0s6s80v26plkh66aiyybpfyi18sjg5pl9idrd0ccdr93gq";
   };
 
+  meta = with stdenv.lib; {
+    description = "Utility for controlling network drivers and hardware";
+    homepage = https://www.kernel.org/pub/software/network/ethtool/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
 }
diff --git a/pkgs/tools/misc/hddtemp/default.nix b/pkgs/tools/misc/hddtemp/default.nix
index eb9aa5feaa3..f3c5dd02c7e 100644
--- a/pkgs/tools/misc/hddtemp/default.nix
+++ b/pkgs/tools/misc/hddtemp/default.nix
@@ -4,12 +4,12 @@ stdenv.mkDerivation {
   name = "hddtemp-0.3_beta15";
 
   db = fetchurl{
-    url = http://download.savannah.nongnu.org/releases/hddtemp/hddtemp.db;
+    url = mirror://savannah/hddtemp/hddtemp.db;
     sha256 = "1fr6qgns6qv7cr40lic5yqwkkc7yjmmgx8j0z6d93csg3smzhhya";
   };
 
   src = fetchurl {
-    url = http://download.savannah.nongnu.org/releases/hddtemp/hddtemp-0.3-beta15.tar.bz2;
+    url = mirror://savannah/hddtemp/hddtemp-0.3-beta15.tar.bz2;
     sha256 = "0nzgg4nl8zm9023wp4dg007z6x3ir60rwbcapr9ks2al81c431b1";
   };
 
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index c8ba478af33..0aacf744b1a 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -3,7 +3,7 @@
 , fetchurl
 }:
 stdenv.mkDerivation {
-  name = "hdf5-1.8.10";
+  name = "hdf5-1.8.10-patch1";
   src = fetchurl {
     url = http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.10-patch1.tar.gz;
     sha256 = "08ad32fhnci6rdfn6mn3w9v1wcaxdcd326n3ljwkcq4dzhkh28qz";  			
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index 54367e671ea..5374cb74361 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "man-db-2.5.1";
   
   src = fetchurl {
-    url = http://download.savannah.nongnu.org/releases/man-db/man-db-2.5.1.tar.gz;
+    url = mirror://savannah/man-db/man-db-2.5.1.tar.gz;
     sha256 = "178w1fk23ffh8vabj29cn0yyg5ps7bwy1zrrrcsw8aypbh3sfjy3";
   };
   
diff --git a/pkgs/tools/misc/mdbtools/default.nix b/pkgs/tools/misc/mdbtools/default.nix
index 9b1968c6fd1..ee9dc4f28b6 100644
--- a/pkgs/tools/misc/mdbtools/default.nix
+++ b/pkgs/tools/misc/mdbtools/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "mdbtools-0.6pre1";
 
   src = fetchurl {
-    url = http://prdownloads.sourceforge.net/mdbtools/mdbtools-0.6pre1.tar.gz;
+    url = mirror://sourceforge/mdbtools/mdbtools-0.6pre1.tar.gz;
     sha256 = "1lz33lmqifjszad7rl1r7rpxbziprrm5rkb27wmswyl5v98dqsbi";
   };
 
diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix
index ef735bf4384..2ab1195020c 100644
--- a/pkgs/tools/misc/minicom/default.nix
+++ b/pkgs/tools/misc/minicom/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "minicom-2.4";
+  name = "minicom-2.6.2";
 
   src = fetchurl {
-    url = "http://alioth.debian.org/frs/download.php/3195/${name}.tar.gz";
-    sha256 = "0j0ayimh3389pciqs60fsfafn87p9gnmmmqz15xq9fkkn10g4ykb";
+    url = "http://alioth.debian.org/frs/download.php/file/3869/${name}.tar.gz";
+    sha256 = "0s4ibk8scspm8a0raf5s4zgp9b82c4bn529rir9abzqlg5gj3kzk";
   };
 
   buildInputs = [ncurses];
diff --git a/pkgs/tools/misc/mktorrent/default.nix b/pkgs/tools/misc/mktorrent/default.nix
index 713d6dc70b8..f177e9e84c2 100644
--- a/pkgs/tools/misc/mktorrent/default.nix
+++ b/pkgs/tools/misc/mktorrent/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, openssl}:
 
 stdenv.mkDerivation {
-  name = "mktorrent-1.0.0";
+  name = "mktorrent-1.0";
 
   src = fetchurl {
     url = mirror://sourceforge/mktorrent/mktorrent-1.0.tar.gz;
diff --git a/pkgs/tools/misc/renameutils/default.nix b/pkgs/tools/misc/renameutils/default.nix
index 6d4793a4aab..527dbe85813 100644
--- a/pkgs/tools/misc/renameutils/default.nix
+++ b/pkgs/tools/misc/renameutils/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, readline}:
 
 stdenv.mkDerivation {
-  name = "renameutils-0.12";
+  name = "renameutils-0.12.0";
 
   src = fetchurl {
     url = mirror://savannah/renameutils/renameutils-0.12.0.tar.gz;
diff --git a/pkgs/tools/misc/ttf2pt1/default.nix b/pkgs/tools/misc/ttf2pt1/default.nix
index 659b04a6238..5a03e099539 100644
--- a/pkgs/tools/misc/ttf2pt1/default.nix
+++ b/pkgs/tools/misc/ttf2pt1/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "ttf2pt1-3.4.4";
 
   src = fetchurl {
-    url = http://prdownloads.sourceforge.net/ttf2pt1/ttf2pt1-3.4.4.tgz;
+    url = mirror://sourceforge/ttf2pt1/ttf2pt1-3.4.4.tgz;
     sha256 = "1l718n4k4widx49xz7qrj4mybzb8q67kp2jw7f47604ips4654mf";
   };
 
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index a056ec13f02..d4cd07aa4c6 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -3,7 +3,7 @@ stdenv.mkDerivation {
   name = "units-1.86";
 
   src = fetchurl {
-    url = ftp://ftp.gnu.org/gnu/units/units-1.86.tar.gz;
+    url = mirror://gnu/units/units-1.86.tar.gz;
     sha256 = "1syc4d3x1wb03hcxnz7rkgapk96biazfk2qqn2wfyx54bq829lhi";
   };
 
diff --git a/pkgs/tools/misc/venus/default.nix b/pkgs/tools/misc/venus/default.nix
new file mode 100644
index 00000000000..b4f9732dec6
--- /dev/null
+++ b/pkgs/tools/misc/venus/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, python, pythonPackages, libxslt, libxml2, makeWrapper }:
+
+let
+  rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
+in
+
+stdenv.mkDerivation rec {
+  name = "venus-${rev}";
+
+  src = fetchurl {
+    url = "https://github.com/rubys/venus/tarball/${rev}";
+    name = "${name}.tar.bz";
+    sha256 = "0lsc9d83grbi3iwm8ppaig4h9vbmd5h4vvz83lmpnyp7zqfka7dy";
+  };
+
+  preConfigure = ''
+    substituteInPlace tests/test_spider.py \
+        --replace "urllib.urlopen('http://127.0.0.1:%d/' % _PORT).read()" "" \
+        --replace "[200,200,200,200,404]" "[200,200,200,404]"
+    substituteInPlace planet.py \
+        --replace "#!/usr/bin/env python" "#!${python}/bin/python"
+    substituteInPlace tests/test_apply.py \
+        --replace "'xsltproc" "'${libxslt}/bin/xsltproc"
+    substituteInPlace planet/shell/xslt.py \
+        --replace "'xsltproc" "'${libxslt}/bin/xsltproc"
+  '';
+
+  doCheck = true;
+  checkPhase = "python runtests.py";
+
+  buildInputs = [ python python.modules.bsddb python.modules.ssl libxslt
+    libxml2 pythonPackages.genshi pythonPackages.lxml makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R ./* $out/
+    ln -s $out/planet.py $out/bin/venus-planet
+    wrapProgram $out/planet.py \
+        --prefix PYTHONPATH : $PYTHONPATH:${pythonPackages.lxml}/lib/${python.libPrefix}/site-packages:${pythonPackages.genshi}/lib/${python.libPrefix}/site-packages
+    python runtests.py
+  '';
+
+  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.";
+    homepage = "http://intertwingly.net/code/venus/docs/index.html";
+    license = stdenv.lib.licenses.psfl;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+  };
+}
diff --git a/pkgs/tools/misc/vfdecrypt/default.nix b/pkgs/tools/misc/vfdecrypt/default.nix
index 5692aecebbf..de7ee27d704 100644
--- a/pkgs/tools/misc/vfdecrypt/default.nix
+++ b/pkgs/tools/misc/vfdecrypt/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "vfdecrypt";
 
   src = fetchgit {
-    url = git://github.com/dra1nerdrake/VFDecrypt.git;
+    url = git://github.com/drakealleg/VFDecrypt.git;
     rev = "4e2fa32816254907e82886b936afcae9859a876c";
     sha256 = "0b945805f7f60bf48556c2db45c9ab26485fb05acbc6160a563d529b20cb56a3";
   };
diff --git a/pkgs/tools/networking/aria/default.nix b/pkgs/tools/networking/aria/default.nix
index 120e32ab29c..4f58463ecf9 100644
--- a/pkgs/tools/networking/aria/default.nix
+++ b/pkgs/tools/networking/aria/default.nix
@@ -4,7 +4,7 @@ let version="0.14.0"; in
 rec {
   src = /* Here a fetchurl expression goes */
   fetchurl {
-    url = "http://downloads.sourceforge.net/aria2/aria2c-${version}.tar.bz2";
+    url = "mirror://sourceforge/aria2/aria2c-${version}.tar.bz2";
     sha256 = "0d6vpy7f4228byahsg4dlhalfkbscx941klhdlxd0y5c3mxxwkfr";
   };
 
diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix
index ab0ba37daac..91061a457d4 100644
--- a/pkgs/tools/networking/dd-agent/default.nix
+++ b/pkgs/tools/networking/dd-agent/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
     };
 
     buildInputs = [ python unzip ];
+    propagatedBuildInputs = [ python ];
 
     postUnpack = "export sourceRoot=$sourceRoot/packaging";
 
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
 
       homepage = http://www.datadoghq.com;
 
-      maintainers = [ stdenv.lib.maintainers.shlevy ];
+      maintainers = [ stdenv.lib.maintainers.shlevy stdenv.lib.maintainers.iElectric ];
 
       license = stdenv.lib.licenses.bsd3;
 
diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix
new file mode 100644
index 00000000000..99cfb92a18b
--- /dev/null
+++ b/pkgs/tools/networking/easyrsa/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, autoconf, automake111x, makeWrapper
+, gnugrep, openssl}:
+
+stdenv.mkDerivation rec {
+  name = "easyrsa-2.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/OpenVPN/easy-rsa/archive/v2.2.0.tar.gz";
+    sha256 = "1xq4by5frb6ikn53ss3y8v7ss639dccxfq8jfrbk07ynkmk668qk";
+  };
+
+  # Copy missing files and autoreconf
+  preConfigure = ''
+    cp ${automake111x}/share/automake/install-sh .
+    cp ${automake111x}/share/automake/missing .
+
+    autoreconf
+  '';
+
+  preBuild = ''
+    mkdir -p $out/share/easy-rsa
+  '';
+
+  nativeBuildInputs = [ autoconf makeWrapper automake111x ];
+  buildInputs = [ gnugrep openssl];
+
+  # Make sane defaults and patch default config vars
+  postInstall = ''
+    for prog in $(find "$out/share/easy-rsa" -executable); do
+      makeWrapper "$prog" "$out/bin/$(basename $prog)" \
+        --set EASY_RSA "$out/share/easy-rsa" \
+        --set OPENSSL "${openssl}/bin/openssl" \
+        --set GREP "${gnugrep}/bin/grep"
+    done
+    sed -i "/EASY_RSA=\|OPENSSL=\|GREP=/d" $out/share/easy-rsa/vars
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple shell based CA utility";
+    homepage = http://openvpn.net/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.offline ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/eggdrop/default.nix b/pkgs/tools/networking/eggdrop/default.nix
index 8649eda4bf7..13efc944bd0 100644
--- a/pkgs/tools/networking/eggdrop/default.nix
+++ b/pkgs/tools/networking/eggdrop/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, tcl}:
 
 stdenv.mkDerivation {
-  name = "eggdrop-1.6.19";
+  name = "eggdrop-1.6.19+ctcpfix";
 
   src = fetchurl {
     url = ftp://ftp.eggheads.org/pub/eggdrop/GNU/1.6/eggdrop1.6.19+ctcpfix.tar.gz;
diff --git a/pkgs/tools/networking/filegive/default.nix b/pkgs/tools/networking/filegive/default.nix
index 3072ba3bd4f..fc2b56efd10 100644
--- a/pkgs/tools/networking/filegive/default.nix
+++ b/pkgs/tools/networking/filegive/default.nix
@@ -18,9 +18,8 @@ stdenv.mkDerivation rec {
   name = "filegive-${version}";
 
   src = fetchurl {
-    url = "http://viric.name/cgi-bin/filegive/tarball/${name}.tar.gz?uuid=v${version}";
-    name = "${name}.tar.gz";
-    sha256 = "172cvm41bqaixz50f86ppqbbridb0qnrcdldfswrs03dc569szm1";
+    url = "http://viric.name/cgi-bin/filegive/tarball/${name}.tar.gz";
+    sha256 = "11rjw906nr73kysm9l84yg443rxzh22l934hir7892h02924i4c4";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/tools/networking/flvstreamer/default.nix b/pkgs/tools/networking/flvstreamer/default.nix
index cbc07522019..c9bc05658d0 100644
--- a/pkgs/tools/networking/flvstreamer/default.nix
+++ b/pkgs/tools/networking/flvstreamer/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "flvstreamer-2.1c1";
 
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/flvstreamer/source/${name}.tar.gz";
+    url = "mirror://savannah/flvstreamer/source/${name}.tar.gz";
     sha256 = "e90e24e13a48c57b1be01e41c9a7ec41f59953cdb862b50cf3e667429394d1ee";
   };
 
diff --git a/pkgs/tools/networking/gmvault/default.nix b/pkgs/tools/networking/gmvault/default.nix
index 1ea2b761fc8..8ab93948191 100644
--- a/pkgs/tools/networking/gmvault/default.nix
+++ b/pkgs/tools/networking/gmvault/default.nix
@@ -24,6 +24,7 @@ buildPythonPackage rec {
   patchPhase = ''
     cat ${startScript} > etc/scripts/gmvault
     chmod +x etc/scripts/gmvault
+    substituteInPlace setup.py --replace "Logbook==0.4.1" "Logbook==0.4.2"
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/gvpe/src-for-default.nix b/pkgs/tools/networking/gvpe/src-for-default.nix
index 097f275feff..88264c5d771 100644
--- a/pkgs/tools/networking/gvpe/src-for-default.nix
+++ b/pkgs/tools/networking/gvpe/src-for-default.nix
@@ -2,7 +2,7 @@ rec {
    version="2.24";
    name="gvpe-2.24";
    hash="1szwia7n24fx9n40yvmdidna55b97459ccq6d2c4863q4pfkqpjy";
-   url="http://ftp.gnu.org/gnu/gvpe/gvpe-${version}.tar.gz";
+   url="mirror://gnu/gvpe/gvpe-${version}.tar.gz";
    advertisedUrl="http://ftp.gnu.org/gnu/gvpe/gvpe-2.24.tar.gz";
   
   
diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix
index 3a9c0e10a78..a1f5026fb28 100644
--- a/pkgs/tools/networking/iftop/default.nix
+++ b/pkgs/tools/networking/iftop/default.nix
@@ -18,10 +18,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ncurses libpcap];
 
-  meta = {
-    description = "iftop does for network usage what top(1) does for CPU usage. It listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts.";
-
-    license = "GPLv2+";
+  meta = with stdenv.lib; {
+    description = "Display bandwidth usage on a network interface";
+    longDescription = ''
+      iftop does for network usage what top(1) does for CPU usage. It listens
+      to network traffic on a named interface and displays a table of current
+      bandwidth usage by pairs of hosts.
+    '';
+    license = licenses.gpl2Plus;
     homepage = http://ex-parrot.com/pdw/iftop/;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/default.nix
index 1cb984e3d1c..66f600f7678 100644
--- a/pkgs/tools/networking/iperf/default.nix
+++ b/pkgs/tools/networking/iperf/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "iperf-2.0.4";
 
   src = fetchurl {
-    url = http://garr.dl.sourceforge.net/sourceforge/iperf/iperf-2.0.4.tar.gz;
+    url = mirror://sourceforge/iperf/iperf-2.0.4.tar.gz;
     sha256 = "0i3r75prbyxs56rngjbrag8rg480ki3daaa924krrafng30z2liv";
   };
 
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 7e86b576967..387ccfcaed4 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, networkmanager, GConf
-, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring
+, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring, gnome_keyring
 , mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
-, makeWrapper, networkmanager_openvpn, udev }:
+, makeWrapper, networkmanager_openvpn, udev, hicolor_icon_theme }:
 
 let
   pn = "network-manager-applet";
@@ -18,12 +18,14 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    gtk libglade networkmanager GConf libnotify libsecret dbus_glib
-    polkit isocodes makeWrapper udev libgnome_keyring
+    gtk libglade networkmanager libnotify libsecret dbus_glib
+    polkit isocodes makeWrapper udev GConf libgnome_keyring
   ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
+  propagatedUserEnvPkgs = [ GConf gnome_keyring hicolor_icon_theme ];
+
   makeFlags = [
     ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
   ];
diff --git a/pkgs/tools/networking/nss-pam-ldapd/default.nix b/pkgs/tools/networking/nss-pam-ldapd/default.nix
index 92cb053bb44..a63ec2a3d68 100644
--- a/pkgs/tools/networking/nss-pam-ldapd/default.nix
+++ b/pkgs/tools/networking/nss-pam-ldapd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nss-pam-ldapd-${version}";
-  version = "0.8.11";
+  version = "0.8.13";
   
   src = fetchurl {
     url = "http://arthurdejong.org/nss-pam-ldapd/${name}.tar.gz";
-    sha256 = "9a841f6a46bf9f87213dc806c0f6507ac5016a2ee550d42c3ed9fb280c1e38e6";
+    sha256 = "08jxxskzv983grc28zksk9fd8q5qad64rma9vcjsq0l4r6cax4mp";
   };
   
   buildInputs = [ makeWrapper pkgconfig python openldap pam ];
diff --git a/pkgs/tools/networking/philter/default.nix b/pkgs/tools/networking/philter/default.nix
index 7457a72b5d5..af5b9aacffc 100644
--- a/pkgs/tools/networking/philter/default.nix
+++ b/pkgs/tools/networking/philter/default.nix
@@ -13,7 +13,7 @@ let
     baseName="philter";
     version="1.1";
     name="${baseName}-${version}";
-    url="http://prdownloads.sourceforge.net/${baseName}/${name}.tar.gz";
+    url="mirror://sourceforge/${baseName}/${name}.tar.gz";
     hash="177pqfflhdn2mw9lc1wv9ik32ji69rjqr6dw83hfndwlsva5151l";
   };
 in
diff --git a/pkgs/tools/networking/speedtest-cli/default.nix b/pkgs/tools/networking/speedtest-cli/default.nix
new file mode 100644
index 00000000000..15ca99f47e9
--- /dev/null
+++ b/pkgs/tools/networking/speedtest-cli/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, pythonPackages }:
+
+stdenv.mkDerivation rec {
+  name = "speedtest-cli-dev";
+  
+  src = fetchgit {
+    url = "https://github.com/sivel/speedtest-cli.git";
+    rev = "fe0940c5744ebe74ca31ad44e6b181d82a89edab";
+    sha256 = "0iywcmgqi58bhldcf8qn1nr7mihypi5fp9s13d4vqc7797xvb28k";
+  };
+
+  buildInputs = [ pythonPackages.python ];
+
+  installPhase = ''
+      mkdir -p $out/bin
+      cp speedtest-cli $out/bin/
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sivel/speedtest-cli;
+    description = "Command line interface for testing internet bandwidth using speedtest.net";
+    platforms = platforms.all;
+    license = licenses.asl20;
+    maintainers = [ maintainers.iElectric ];
+  };
+}
diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix
index be3153ba281..54390d4f9ee 100644
--- a/pkgs/tools/networking/uwimap/default.nix
+++ b/pkgs/tools/networking/uwimap/default.nix
@@ -1,24 +1,30 @@
 {stdenv, fetchurl, pam, openssl}:
 
 stdenv.mkDerivation {
-  name = "uw-imap-2007";
+  name = "uw-imap-2007f";
 
   src = fetchurl {
     url = "ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz";
     sha256 = "0a2a00hbakh0640r2wdpnwr8789z59wnk7rfsihh3j0vbhmmmqak";
   };
 
-  makeFlags = "lnp" # Linux with PAM modules
+  makeFlags = if stdenv.isDarwin
+    then "osx"
+    else "lnp" # Linux with PAM modules;
     # -fPIC is required to compile php with imap on x86_64 systems
     + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC";
 
-  buildInputs = [ pam openssl ];
+  buildInputs = [ openssl ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) pam;
 
   patchPhase = ''
     sed -i -e s,/usr/local/ssl,${openssl}, \
       src/osdep/unix/Makefile
   '';
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin
+    "-I${openssl}/include/openssl";
+
   installPhase = ''
     mkdir -p $out/bin $out/lib $out/include
     cp c-client/*.h c-client/linkage.c $out/include
diff --git a/pkgs/tools/networking/wicd/dhclient.patch b/pkgs/tools/networking/wicd/dhclient.patch
index 52d91846518..fbda1caacb7 100644
--- a/pkgs/tools/networking/wicd/dhclient.patch
+++ b/pkgs/tools/networking/wicd/dhclient.patch
@@ -1,4 +1,23 @@
-diff -ruN wicd-1.7.2.4.orig/wicd/wnettools.py wicd-1.7.2.4/wicd/wnettools.py
+diff -ruN wicd-1.7.2.4.orig/wicd/wicd-daemon.py wicd-1.7.2.4/wicd/wicd-daemon.py
+--- wicd-1.7.2.4.orig/wicd/wicd-daemon.py	2013-06-22 18:55:02.641242947 +0000
++++ wicd-1.7.2.4/wicd/wicd-daemon.py	2013-06-22 18:58:33.990244153 +0000
+@@ -69,6 +69,7 @@
+ wireless_conf = os.path.join(wpath.etc, "wireless-settings.conf")
+ wired_conf = os.path.join(wpath.etc, "wired-settings.conf")
+ dhclient_conf = os.path.join(wpath.etc, "dhclient.conf.template")
++dhclient_conf_default = os.path.join(wpath.share, "other", "dhclient.conf.template.default")
+ 
+ class WicdDaemon(dbus.service.Object):
+     """ The main wicd daemon class.
+@@ -910,7 +911,7 @@
+ 
+         if not os.path.isfile(dhclient_conf):
+             print "dhclient.conf.template not found, copying..."
+-            shutil.copy(dhclient_conf + ".default", dhclient_conf)            
++            shutil.copy(dhclient_conf_default, dhclient_conf)
+         # Hide the files, so the keys aren't exposed.
+         print "chmoding configuration files 0600..."
+         os.chmod(app_conf.get_config(), 0600)diff -ruN wicd-1.7.2.4.orig/wicd/wnettools.py wicd-1.7.2.4/wicd/wnettools.py
 --- wicd-1.7.2.4.orig/wicd/wnettools.py	2013-03-30 21:47:19.804907552 +0000
 +++ wicd-1.7.2.4/wicd/wnettools.py	2013-03-31 08:44:37.572792110 +0000
 @@ -37,6 +37,7 @@
diff --git a/pkgs/tools/package-management/guix/default.nix b/pkgs/tools/package-management/guix/default.nix
index 37957235629..7c4a098cad8 100644
--- a/pkgs/tools/package-management/guix/default.nix
+++ b/pkgs/tools/package-management/guix/default.nix
@@ -15,11 +15,11 @@ let
     };
   };
 in stdenv.mkDerivation rec {
-  name = "guix-0.2";
+  name = "guix-0.3";
 
   src = fetchurl {
     url = "ftp://alpha.gnu.org/gnu/guix/${name}.tar.gz";
-    sha256 = "140y0ywbgl6vxl4nwswz4vim2wwdiajxlksj24lnv40aw5hyvifr";
+    sha256 = "0xpfdmlfkkpmgrb8lpaqs5wxx31m4jslajs6b9waz5wp91zk7fix";
   };
 
   configureFlags =
@@ -33,11 +33,6 @@ in stdenv.mkDerivation rec {
        cp -v "${boot_guile.x86_64}" gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
     '';
 
-  preCheck =
-    # XXX: Skip this test (see commit 91fe0e20c7da2b706a1ac0e7b75235b6c1e6ed0a).
-    '' sed -i tests/guix-package.sh -e's/guix package --version/exit 0/'
-    '';
-
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ guile libgcrypt sqlite bzip2 ];
 
@@ -52,7 +47,7 @@ in stdenv.mkDerivation rec {
 
       In addition to standard package management features, Guix supports
       transactional upgrades and roll-backs, unprivileged package management,
-      per-user profiles, and garbage collection. 
+      per-user profiles, and garbage collection.
 
       It provides Guile Scheme APIs, including high-level embedded
       domain-specific languages (EDSLs), to describe how packages are built
@@ -67,6 +62,7 @@ in stdenv.mkDerivation rec {
     license = "GPLv3+";
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.linux;
 
     homepage = http://www.gnu.org/software/guix;
   };
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 73bed52654f..bab89a1145e 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.5.3pre3141_1b6ee8f";
+  name = "nix-1.6pre3166_15e5ac8";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/5305802/download/5/${name}.tar.xz";
-    sha256 = "834a0d23456331ac06b6117078f0b9bbeecbc8620d5f844b61455e3daac6ceb0";
+    url = "http://hydra.nixos.org/build/5566779/download/5/${name}.tar.xz";
+    sha256 = "c25209bb93ca6859df84f74bd16cb0daee9e6c9820139e9dab1d2848129a2558";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix
index 4e47a50078a..7f2b533383e 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 }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "nixops-1.0";
+  name = "nixops-1.0.1";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://nixos.org/releases/nixops/${name}/${name}.tar.bz2";
-    sha256 = "9ae2dfac8e1fa895aef81323b14a3398f03a1cbd8c86ea10b6fff7312e1fadbb";
+    sha256 = "c6dda2597ba0ab2f60c984d4715163c02940f20803619668d6c16eba8570a394";
   };
 
   buildInputs = [ libxslt ];
@@ -21,6 +21,9 @@ pythonPackages.buildPythonPackage rec {
 
   postInstall =
     ''
+      # Backward compatibility symlink.
+      ln -s nixops $out/bin/charon
+
       make -C doc/manual install nixops.1 docbookxsl=${docbook5_xsl}/xml/xsl/docbook \
         docdir=$out/share/doc/nixops mandir=$out/share/man
 
diff --git a/pkgs/tools/security/apg/apg.patch b/pkgs/tools/security/apg/apg.patch
new file mode 100644
index 00000000000..abc22647d52
--- /dev/null
+++ b/pkgs/tools/security/apg/apg.patch
@@ -0,0 +1,44 @@
+diff -rc apg-2.2.3/Makefile apg-2.2.3-new/Makefile
+*** apg-2.2.3/Makefile	2003-08-07 17:40:30.000000000 +0200
+--- apg-2.2.3-new/Makefile	2013-07-24 12:25:31.159938436 +0200
+***************
+*** 113,131 ****
+  	if test -x ./apg; then \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
+! ./install-sh -c -m 0755 -o root -g ${FIND_GROUP} ./apg ${INSTALL_PREFIX}${APG_BIN_DIR}; \
+  ./install-sh -c -m 0444 ./doc/man/apg.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
+  fi
+  	if test -x ./apgd; then \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
+! ./install-sh -c -m 0755 -o root -g ${FIND_GROUP} ./apgd ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
+  ./install-sh -c -m 0444 ./doc/man/apgd.8 ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
+  fi
+  	if test -x ./apgbfm; then \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
+! ./install-sh -c -m 0755 -o root -g ${FIND_GROUP} ./apgbfm ${INSTALL_PREFIX}${APG_BIN_DIR}; \
+  ./install-sh -c -m 0444 ./doc/man/apgbfm.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
+  fi
+  
+--- 113,131 ----
+  	if test -x ./apg; then \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
+! ./install-sh -c -m 0755 ./apg ${INSTALL_PREFIX}${APG_BIN_DIR}; \
+  ./install-sh -c -m 0444 ./doc/man/apg.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
+  fi
+  	if test -x ./apgd; then \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
+! ./install-sh -c -m 0755 ./apgd ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
+  ./install-sh -c -m 0444 ./doc/man/apgd.8 ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
+  fi
+  	if test -x ./apgbfm; then \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
+  ./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
+! ./install-sh -c -m 0755 ./apgbfm ${INSTALL_PREFIX}${APG_BIN_DIR}; \
+  ./install-sh -c -m 0444 ./doc/man/apgbfm.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
+  fi
+  
diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix
index 7eeb491374a..28f66e1e492 100644
--- a/pkgs/tools/security/apg/default.nix
+++ b/pkgs/tools/security/apg/default.nix
@@ -8,10 +8,8 @@ stdenv.mkDerivation rec {
   configurePhase = ''
     substituteInPlace Makefile --replace /usr/local "$out"
   '';
-  preInstall = ''
-    export CHOWNPROG=true
-    export CHGRPPROG=true
-  '';
+
+  patches = [ ./apg.patch ];
 
   meta = {
     description = "A tool set for random password generation.";
diff --git a/pkgs/tools/security/bmrsa/11.nix b/pkgs/tools/security/bmrsa/11.nix
index 3200d27c004..5d6eaf55173 100644
--- a/pkgs/tools/security/bmrsa/11.nix
+++ b/pkgs/tools/security/bmrsa/11.nix
@@ -11,7 +11,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://prdownloads.sourceforge.net/sourceforge/bmrsa/bmrsa${version}.zip";
+    url = "mirror://sourceforge/bmrsa/bmrsa${version}.zip";
     sha256 = "0ksd9xkvm9lkvj4yl5sl0zmydp1wn3xhc55b28gj70gi4k75kcl4";
   };
 
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index bccf0cc77c5..cb32085a8cf 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   version = "0.97.5";
 
   src = fetchurl {
-    url = "http://tenet.dl.sourceforge.net/project/clamav/clamav/${version}/clamav-${version}.tar.gz";
+    url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz";
     sha256 = "039wm64wl2sx7k019g5ll5dkdlsq64fnd0ng0s00pjn8bqd5wv6v";
   };
 
diff --git a/pkgs/tools/security/oath-toolkit/default.nix b/pkgs/tools/security/oath-toolkit/default.nix
index 58786f1bd61..80ab866e1f3 100644
--- a/pkgs/tools/security/oath-toolkit/default.nix
+++ b/pkgs/tools/security/oath-toolkit/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "oath-toolkit-2.0.2";
 
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/oath-toolkit/${name}.tar.gz";
+    url = "mirror://savannah/oath-toolkit/${name}.tar.gz";
     sha256 = "0i2rf5j83kb8h3sd9lsm0a46zq805kzagvccc4rk7879lg1fnl99";
   };
 
diff --git a/pkgs/tools/security/pwgen/default.nix b/pkgs/tools/security/pwgen/default.nix
index ecbc95362e6..aaa3b577657 100644
--- a/pkgs/tools/security/pwgen/default.nix
+++ b/pkgs/tools/security/pwgen/default.nix
@@ -3,7 +3,7 @@ stdenv.mkDerivation {
   name = "pwgen-2.05";
 
   src = fetchurl {
-    url = ftp://ftp.chg.ru/pub/sourceforge/p/pw/pwgen/pwgen-2.05.tar.gz;
+    url = mirror://sourceforge/pwgen/pwgen-2.05.tar.gz;
     sha256 = "1afxbkdl9b81760pyb972k18dmidrciy3vzcnspp3jg0aa316yn8";
   };
   meta = {
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 78ff9131fa8..3f63d077c7f 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -1,29 +1,26 @@
-{ stdenv, fetchurl, zlib }:
+{ stdenv, fetchurl, pkgconfig, zlib, kmod, which }:
 
+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";
+  };
+in
 stdenv.mkDerivation rec {
-  name = "pciutils-3.1.10";
+  name = "pciutils-3.2.0";
 
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2";
-    sha256 = "0xdahcxd00c921wnxi0f0w3lzjqdfphwa5vglfcpf0lv3l2w40pl";
+    sha256 = "0d9as9jzjjg5c1nwf58z1y1i7rf9fqxmww1civckhcvcn0xr85mq";
   };
 
-  buildInputs = [ zlib ];
-
-  pciids = fetchurl {
-    # Obtained from http://pciids.sourceforge.net/v2.2/pci.ids.bz2.
-    url = http://tarballs.nixos.org/pci.ids.20120929.bz2;
-    sha256 = "1q3i479ay88wam1zz1vbgkbqb2axg8av9qjxaigrqbnw2pv0srmb";
-  };
+  buildInputs = [ pkgconfig zlib kmod which ];
 
-  # Override broken auto-detect logic.
-  # Note: we can't compress pci.ids (ZLIB=yes) because udev requires
-  # an uncompressed pci.ids.
-  makeFlags = "ZLIB=no DNS=yes SHARED=yes PREFIX=\${out}";
+  # currently up-to-date
+  #preBuild = "bunzip2 < ${pciids} > pci.ids";
 
-  preBuild = ''
-    bunzip2 < $pciids > pci.ids
-  '';
+  makeFlags = "SHARED=yes PREFIX=\${out}";
 
   installTargets = "install install-lib";
 
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index 909b0d832f7..be34fc52c7a 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -2,21 +2,21 @@
 
 let
   driverdb = fetchurl {
-    url = "http://smartmontools.svn.sourceforge.net/viewvc/smartmontools/trunk/smartmontools/drivedb.h?revision=3797";
-    sha256 = "01ycm3vffxpfvfga9vp1d38jy3lqpkpxnxf78pidc8q1nn8bpdyz";
+    url = "http://smartmontools.svn.sourceforge.net/viewvc/smartmontools/trunk/smartmontools/drivedb.h?revision=3812";
+    sha256 = "1x22ammjwlb7p3cmd13shqq1payb7nr9pgfa9xifs19qyr77mrwp";
     name = "smartmontools-drivedb.h";
   };
 in
 stdenv.mkDerivation rec {
-  name = "smartmontools-6.1";
+  name = "smartmontools-6.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/smartmontools/${name}.tar.gz";
-    sha256 = "01yfv6hqsqandg6x8mnwa4g42hhqvc7dfxnfb3v849n8rj5kn059";
+    sha256 = "0nq6jvfh8nqwfrvp6fb6qs2rdydi3i9xgpi7p7vb83xvg42ncvs8";
   };
 
   patchPhase = ''
-    cp ${driverdb} drivedb.h
+    : cp ${driverdb} drivedb.h
     sed -i -e 's@which which >/dev/null || exit 1@alias which="type -p"@' update-smart-drivedb.in
   '';
 
diff --git a/pkgs/tools/system/thinkfan/default.nix b/pkgs/tools/system/thinkfan/default.nix
index a13f500c34f..63850454b3d 100644
--- a/pkgs/tools/system/thinkfan/default.nix
+++ b/pkgs/tools/system/thinkfan/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   name = "thinkfan-${version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/thinkfan/thinkfan-${version}.tar.gz";
+    url = "mirror://sourceforge/thinkfan/thinkfan-${version}.tar.gz";
     sha256 = "04akla66r8k10x0jvmcpfi92hj2sppygcl7hhwn8n8zsvvf0yqxs";
   };
   
diff --git a/pkgs/tools/text/cheetah-template/2.0.1.nix b/pkgs/tools/text/cheetah-template/2.0.1.nix
index c20f5db9798..0bfa72ca00d 100644
--- a/pkgs/tools/text/cheetah-template/2.0.1.nix
+++ b/pkgs/tools/text/cheetah-template/2.0.1.nix
@@ -1,7 +1,7 @@
 args : with args; 
 rec {
   src = fetchurl {
-    url = http://downloads.sourceforge.net/cheetahtemplate/Cheetah-2.0.1.tar.gz;
+    url = mirror://sourceforge/cheetahtemplate/Cheetah-2.0.1.tar.gz;
     sha256 = "134k4s5f116k23vb7wf9bynlx3gf0wwl7y0zp9ciz0q66nh1idkh";
   };
 
diff --git a/pkgs/tools/text/numdiff/default.nix b/pkgs/tools/text/numdiff/default.nix
index eb5ebf612b2..1eae8c4d527 100644
--- a/pkgs/tools/text/numdiff/default.nix
+++ b/pkgs/tools/text/numdiff/default.nix
@@ -6,7 +6,7 @@ in
 stdenv.mkDerivation {
   name = "numdiff-${version}";
   src = fetchurl {
-    url = "http://ftp.igh.cnrs.fr/pub/nongnu/numdiff/numdiff-${version}.tar.gz";
+    url = "mirror://savannah/numdiff/numdiff-${version}.tar.gz";
     sha256 = "062byxp9vajj4flg1rqh0r2nwg9yx608mbsj5y25wkrzmkgcq3fx";
   };
   meta = {
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index 6ca85167aed..9774d7d1a94 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation ( rec {
   };
 
   src = fetchurl {
-    url = "http://ftp.gnu.org/pub/gnu/${pname}/${name}.tar.gz";
+    url = "mirror://gnu/${pname}/${name}.tar.gz";
     sha256 = "aebbea00431f8fd1e6be6519d9cc28e974942000737f956027da2c952a6d304e";
   };
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ef93595dc24..12b8fa43ded 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -206,6 +206,8 @@ let
 
   nix-generate-from-cpan = callPackage ../../maintainers/scripts/nix-generate-from-cpan.nix { };
 
+  nixpkgs-lint = callPackage ../../maintainers/scripts/nixpkgs-lint.nix { };
+
 
   ### STANDARD ENVIRONMENT
 
@@ -503,6 +505,8 @@ let
 
   bfr = callPackage ../tools/misc/bfr { };
 
+  bmon = callPackage ../tools/misc/bmon { };
+
   boomerang = callPackage ../development/tools/boomerang { };
 
   bootchart = callPackage ../tools/system/bootchart { };
@@ -615,6 +619,8 @@ let
 
   convertlit = callPackage ../tools/text/convertlit { };
 
+  colormake = callPackage ../development/tools/build-managers/colormake { };
+
   cowsay = callPackage ../tools/misc/cowsay { };
 
   cuetools = callPackage ../tools/cd-dvd/cuetools { };
@@ -753,6 +759,8 @@ let
 
   e2fsprogs = callPackage ../tools/filesystems/e2fsprogs { };
 
+  easyrsa = callPackage ../tools/networking/easyrsa { };
+
   ebook_tools = callPackage ../tools/text/ebook-tools { };
 
   ecryptfs = callPackage ../tools/security/ecryptfs { };
@@ -786,6 +794,8 @@ let
 
   exiftags = callPackage ../tools/graphics/exiftags { };
 
+  extundelete = callPackage ../tools/filesystems/extundelete { };
+
   expect = callPackage ../tools/misc/expect { };
 
   fabric = pythonPackages.fabric;
@@ -1910,6 +1920,10 @@ let
 
   varnish = callPackage ../servers/varnish { };
 
+  venus = callPackage ../tools/misc/venus {
+    python = python27;
+  };
+
   vlan = callPackage ../tools/networking/vlan { };
 
   wakelan = callPackage ../tools/networking/wakelan { };
@@ -2070,6 +2084,8 @@ let
       javaCup = callPackage ../development/libraries/java/cup { };
     };
 
+  aldor = callPackage ../development/compilers/aldor { };
+
   aspectj = callPackage ../development/compilers/aspectj { };
 
   bigloo = callPackage ../development/compilers/bigloo { };
@@ -2285,12 +2301,6 @@ let
     cross = assert crossSystem != null; crossSystem;
   };
 
-  gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override {
-    stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc);
-    profiledCompiler = false;
-    enableMultilib = true;
-  }));
-
   gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.4) {
     inherit fetchurl stdenv gmp mpfr /* ppl cloogppl */
       gettext which noSysDirs;
@@ -2318,17 +2328,6 @@ let
       else null;
   }));
 
-  # A non-stripped version of GCC.
-  gcc45_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.5 {
-    stripped = false;
-
-    inherit noSysDirs;
-
-    # bootstrapping a profiled compiler does not work in the sheevaplug:
-    # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
-    profiledCompiler = !stdenv.system == "armv5tel-linux";
-  }));
-
   gcc46_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 {
     inherit noSysDirs;
 
@@ -2358,12 +2357,14 @@ let
     binutilsCross = null;
   }));
 
-  gcc46_multi = if system == "x86_64-linux" then lowPrio (
+  gcc46_multi =
+    if system == "x86_64-linux" then lowPrio (
       wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc46.gcc.override {
-      stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc);
-      profiledCompiler = false;
-      enableMultilib = true;
-    })) else throw "Multilib gcc not supported on ‘${system}’";
+        stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc);
+        profiledCompiler = false;
+        enableMultilib = true;
+      }))
+    else throw "Multilib gcc not supported on ‘${system}’";
 
   gcc47_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.7 {
     inherit noSysDirs;
@@ -3147,6 +3148,7 @@ let
 
   python3 = hiPrio (callPackage ../development/interpreters/python/3.3 { });
   python33 = callPackage ../development/interpreters/python/3.3 { };
+  python32 = callPackage ../development/interpreters/python/3.2 { };
 
   python = python27;
   python26 = callPackage ../development/interpreters/python/2.6 { };
@@ -3154,6 +3156,8 @@ let
     libX11 = xlibs.libX11;
   };
 
+  pypy = callPackage ../development/interpreters/pypy/2.0 { };
+
   pythonFull = python27Full;
   python26Full = callPackage ../development/interpreters/python/wrapper.nix {
     extraLibs = lib.attrValues python26.modules;
@@ -3276,6 +3280,8 @@ let
 
   guile_ncurses = callPackage ../development/guile-modules/guile-ncurses { };
 
+  srecord = callPackage ../development/tools/misc/srecord { };
+
   windowssdk = (
     import ../development/misc/windows-sdk {
       inherit fetchurl stdenv cabextract;
@@ -3324,6 +3330,8 @@ let
 
   avrdude = callPackage ../development/tools/misc/avrdude { };
 
+  avarice = callPackage ../development/tools/misc/avarice { };
+
   bam = callPackage ../development/tools/build-managers/bam {};
 
   binutils = callPackage ../development/tools/misc/binutils {
@@ -3639,10 +3647,14 @@ let
 
   sparse = callPackage ../development/tools/analysis/sparse { };
 
+  speedtest_cli = callPackage ../tools/networking/speedtest-cli { };
+
   spin = callPackage ../development/tools/analysis/spin { };
 
   splint = callPackage ../development/tools/analysis/splint { };
 
+  stm32flash = callPackage ../development/tools/misc/stm32flash { };
+
   strace = callPackage ../development/tools/misc/strace { };
 
   swig = callPackage ../development/tools/misc/swig { };
@@ -3747,7 +3759,11 @@ let
 
   aubio = callPackage ../development/libraries/aubio { };
 
-  audiofile = callPackage ../development/libraries/audiofile { };
+  audiofile = callPackage ../development/libraries/audiofile {
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   axis = callPackage ../development/libraries/axis { };
 
@@ -3936,6 +3952,10 @@ let
 
   ffmpeg = callPackage ../development/libraries/ffmpeg {
     vpxSupport = !stdenv.isMips;
+
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
   };
 
   ffmpeg_0_6_90 = callPackage ../development/libraries/ffmpeg/0.6.90.nix {
@@ -4258,7 +4278,8 @@ let
   pixman = callPackage ../development/libraries/pixman { };
 
   cairo = callPackage ../development/libraries/cairo {
-    glSupport = config.cairo.gl or stdenv.isLinux;
+    glSupport = config.cairo.gl or (stdenv.isLinux &&
+      !stdenv.isArm && !stdenv.isMips);
   };
   cairo_1_12_2 = callPackage ../development/libraries/cairo/1.12.2.nix { };
   cairomm = callPackage ../development/libraries/cairomm { };
@@ -4458,6 +4479,7 @@ let
   libcaca = callPackage ../development/libraries/libcaca { };
 
   libcanberra = callPackage ../development/libraries/libcanberra { };
+  libcanberra_gtk3 = libcanberra.override { gtk = gtk3; };
   libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true)
     then libcanberra.override { gtk = null; }
     else libcanberra;
@@ -4652,7 +4674,11 @@ let
   libre = callPackage ../development/libraries/libre {};
   librem = callPackage ../development/libraries/librem {};
 
-  libsamplerate = callPackage ../development/libraries/libsamplerate { };
+  libsamplerate = callPackage ../development/libraries/libsamplerate {
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   libspectre = callPackage ../development/libraries/libspectre { };
 
@@ -4710,7 +4736,12 @@ let
 
   libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { };
 
-  libmikmod = callPackage ../development/libraries/libmikmod { };
+  libmikmod = callPackage ../development/libraries/libmikmod {
+    # resolve the "stray '@' in program" errors
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   libmilter = callPackage ../development/libraries/libmilter { };
 
@@ -4806,7 +4837,11 @@ let
   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
   libsigsegv_25 = callPackage ../development/libraries/libsigsegv/2.5.nix { };
 
-  libsndfile = callPackage ../development/libraries/libsndfile { };
+  libsndfile = callPackage ../development/libraries/libsndfile {
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   libsoup = callPackage ../development/libraries/libsoup { };
 
@@ -4816,6 +4851,10 @@ let
 
   libstartup_notification = callPackage ../development/libraries/startup-notification { };
 
+  libspatialindex = callPackage ../development/libraries/libspatialindex { };
+
+  libspatialite = callPackage ../development/libraries/libspatialite { };
+
   libtasn1 = callPackage ../development/libraries/libtasn1 { };
 
   libtheora = callPackage ../development/libraries/libtheora { };
@@ -4999,6 +5038,8 @@ let
 
   ming = callPackage ../development/libraries/ming { };
 
+  minmay = callPackage ../development/libraries/minmay { };
+
   mkvtoolnix = callPackage ../applications/video/mkvtoolnix { };
 
   mlt = callPackage ../development/libraries/mlt {
@@ -5241,6 +5282,11 @@ let
     # GNOME dependencies are not used unless gtkStyle == true
     inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
     cups = if stdenv.isLinux then cups else null;
+
+    # resolve unrecognised flag '-fconstant-cfstrings' errors
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
   };
 
   qt48Full = callPackage ../development/libraries/qt-4.x/4.8 {
@@ -5352,7 +5398,7 @@ let
 
   sofia_sip = callPackage ../development/libraries/sofia-sip { };
 
-  soprano = callPackage ../development/libraries/soprano { clucene_core = clucene_core_2; };
+  soprano = callPackage ../development/libraries/soprano { };
 
   soqt = callPackage ../development/libraries/soqt { };
 
@@ -5719,6 +5765,14 @@ let
     __overrides = (config.perl510PackageOverrides or (p: {})) pkgs;
   };
 
+  perl514Packages = import ./perl-packages.nix {
+    pkgs = pkgs // {
+      perl = perl514;
+      buildPerlPackage = import ../development/perl-modules/generic perl514;
+    };
+    __overrides = (config.perl514PackageOverrides or (p: {})) pkgs;
+  };
+
   perlXMLParser = perlPackages.XMLParser;
 
   ack = perlPackages.ack;
@@ -5728,6 +5782,7 @@ let
 
   ### DEVELOPMENT / PYTHON MODULES
 
+  # python function with default python interpreter
   buildPythonPackage = pythonPackages.buildPythonPackage;
 
   pythonPackages = python27Packages;
@@ -5742,12 +5797,32 @@ let
     python = python26;
   };
 
+  python3Packages = python33Packages;
+
+  python33Packages = recurseIntoAttrs (import ./python-packages.nix {
+    inherit pkgs;
+    inherit (lib) lowPrio;
+    python = python33;
+  });
+
+  python32Packages = import ./python-packages.nix {
+    inherit pkgs;
+    inherit (lib) lowPrio;
+    python = python32;
+  };
+
   python27Packages = recurseIntoAttrs (import ./python-packages.nix {
     inherit pkgs;
     inherit (lib) lowPrio;
     python = python27;
   });
 
+  pypyPackages = recurseIntoAttrs (import ./python-packages.nix {
+    inherit pkgs;
+    inherit (lib) lowPrio;
+    python = pypy;
+  });
+
   plone41Packages = recurseIntoAttrs (import ../development/web/plone/4.1.nix {
     inherit pkgs;
     pythonPackages = python26Packages;
@@ -5839,6 +5914,8 @@ let
     sslSupport = true;
   });
 
+  apcupsd = callPackage ../servers/apcupsd { };
+
   sabnzbd = callPackage ../servers/sabnzbd { };
 
   bind = callPackage ../servers/dns/bind { };
@@ -5863,7 +5940,13 @@ let
 
   dictdWordnet = callPackage ../servers/dict/dictd-wordnet.nix {};
 
-  dovecot = callPackage ../servers/mail/dovecot { };
+  dovecot = dovecot21;
+
+  dovecot21 = callPackage ../servers/mail/dovecot { };
+
+  dovecot22 = callPackage ../servers/mail/dovecot/2.2.x.nix { };
+
+  dovecot_pigeonhole = callPackage ../servers/mail/dovecot-pigeonhole { };
 
   ejabberd = callPackage ../servers/xmpp/ejabberd { };
 
@@ -5913,7 +5996,13 @@ let
 
   mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
 
-  mpd = callPackage ../servers/mpd { };
+  mpd = callPackage ../servers/mpd {
+    # resolve the "stray '@' in program" errors
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
+
   mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { };
 
   miniHttpd = callPackage ../servers/http/mini-httpd {};
@@ -5922,6 +6011,8 @@ let
 
   nginx = callPackage ../servers/http/nginx { };
 
+  opensmtpd = callPackage ../servers/mail/opensmtpd { };
+
   petidomo = callPackage ../servers/mail/petidomo { };
 
   popa3d = callPackage ../servers/mail/popa3d { };
@@ -6058,6 +6149,8 @@ let
   });
   squid = squids.squid31; # has ipv6 support
 
+  thttpd = callPackage ../servers/http/thttpd { };
+
   tomcat5 = callPackage ../servers/http/tomcat/5.0.nix { };
 
   tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { };
@@ -6338,6 +6431,10 @@ let
       ];
   };
 
+  linux_3_2_grsecurity = lib.overrideDerivation (linux_3_2.override (args: {
+    kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_48 ];
+  })) (args: { makeFlags = "DISABLE_PAX_PLUGINS=y";});
+
   linux_3_2_apparmor = linux_3_2.override {
     kernelPatches = [ kernelPatches.apparmor_3_2 ];
     extraConfig = ''
@@ -6363,17 +6460,12 @@ let
       ];
   };
 
-  linux_3_7 = makeOverridable (import ../os-specific/linux/kernel/linux-3.7.nix) {
-    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
-    kernelPatches =
-      [
-        kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_7
-      ] ++ lib.optionals (platform.kernelArch == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
-      ];
+  linux_3_4_apparmor = linux_3_4.override {
+    kernelPatches = [ kernelPatches.apparmor_3_4 ];
+    extraConfig = ''
+      SECURITY_APPARMOR y
+      DEFAULT_SECURITY_APPARMOR y
+    '';
   };
 
   linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) {
@@ -6485,8 +6577,6 @@ let
 
     wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
 
-    kqemu = callPackage ../os-specific/linux/kqemu { };
-
     klibc = callPackage ../os-specific/linux/klibc {
       linuxHeaders = glibc.kernelHeaders;
     };
@@ -6539,8 +6629,8 @@ let
   linuxPackages_3_2_apparmor = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor);
   linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen);
   linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
+  linuxPackages_3_4_apparmor = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor);
   linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi);
-  linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7 linuxPackages_3_7);
   linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8 linuxPackages_3_8);
   linuxPackages_3_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_9 linuxPackages_3_9);
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
@@ -7181,7 +7271,7 @@ let
   chromium = lowPrio (callPackage ../applications/networking/browsers/chromium {
     channel = "stable";
     gconf = gnome.GConf;
-    pulseSupport = config.pulseaudio or false;
+    pulseSupport = config.pulseaudio or true;
   });
 
   chromiumBeta = lowPrio (chromium.override { channel = "beta"; });
@@ -7253,6 +7343,8 @@ let
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
 
+  diffuse = callPackage ../applications/version-management/diffuse { };
+
   distrho = callPackage ../applications/audio/distrho {};
 
   djvulibre = callPackage ../applications/misc/djvulibre { };
@@ -7534,7 +7626,7 @@ let
     libpng = libpng.override { apngSupport = true; };
   };
 
-  firefoxWrapper = lowPrio (wrapFirefox { browser = firefoxPkgs.firefox; });
+  firefoxWrapper = wrapFirefox { browser = firefoxPkgs.firefox; };
 
   flac = callPackage ../applications/audio/flac { };
 
@@ -7613,6 +7705,8 @@ let
 
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
+  mi2ly = callPackage ../applications/audio/mi2ly {};
+
   praat = callPackage ../applications/audio/praat { };
 
   quvi = callPackage ../applications/video/quvi/tool.nix { };
@@ -7721,6 +7815,8 @@ let
 
   hello = callPackage ../applications/misc/hello/ex-2 { };
 
+  herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { };
+
   hexedit = callPackage ../applications/editors/hexedit { };
 
   hipchat = callPackage_i686 ../applications/networking/instant-messengers/hipchat { };
@@ -8081,7 +8177,7 @@ let
     lockfile = rubyLibs.lockfile;
     mime_types = rubyLibs.mime_types;
     ncursesw_sup = ruby_ncursesw_sup;
-    rake = rubyLibs.rake_10_0_4;
+    rake = rubyLibs.rake_10_1_0;
     rmail = rubyLibs.rmail;
     text = rubyLibs.text;
     trollop = rubyLibs.trollop;
@@ -8166,9 +8262,7 @@ let
 
   panotools = callPackage ../applications/graphics/panotools { };
 
-  pavucontrol = callPackage ../applications/audio/pavucontrol {
-    inherit (gnome) libglademm;
-  };
+  pavucontrol = callPackage ../applications/audio/pavucontrol { };
 
   paraview = callPackage ../applications/graphics/paraview { };
 
@@ -8249,6 +8343,10 @@ let
 
   qtractor = callPackage ../applications/audio/qtractor { };
 
+  quodlibet = callPackage ../applications/audio/quodlibet {
+    inherit (pythonPackages) mutagen;
+  };
+
   rakarrack = callPackage ../applications/audio/rakarrack {
     inherit (xorg) libXpm libXft;
     fltk = fltk13;
@@ -8284,6 +8382,7 @@ let
   # = urxvt
   rxvt_unicode = callPackage ../applications/misc/rxvt_unicode {
     perlSupport = true;
+    gdkPixbufSupport = true;
   };
 
   sakura = callPackage ../applications/misc/sakura {
@@ -8336,6 +8435,14 @@ let
 
   lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter { };
 
+  # slic3r 0.9.10b says: "Running Slic3r under Perl >= 5.16 is not supported nor recommended"
+  slic3r = callPackage ../applications/misc/slic3r {
+    inherit (perl514Packages) EncodeLocale MathClipper ExtUtilsXSpp
+            BoostGeometryUtils MathConvexHullMonotoneChain MathGeometryVoronoi
+            MathPlanePath Moo IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus;
+    perl = perl514;
+  };
+
   slim = callPackage ../applications/display-managers/slim {
     libpng = libpng12;
   };
@@ -8533,7 +8640,12 @@ let
     flup = pythonPackages.flup;
   };
 
-  vim = callPackage ../applications/editors/vim { };
+  vim = callPackage ../applications/editors/vim {
+    # for Objective-C compilation
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
+  };
 
   vimHugeX = vim_configurable;
 
@@ -8604,6 +8716,8 @@ let
 
   wmname = callPackage ../applications/misc/wmname { };
 
+  wmctrl = callPackage ../tools/X11/wmctrl { };
+
   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
   wmiimenu = import ../applications/window-managers/wmii31 {
     libixp = libixp_for_wmii;
@@ -9082,22 +9196,14 @@ let
     inherit (pkgs) libsoup libwnck gtk_doc gnome_doc_utils;
   };
 
-  gnome3 = callPackage ../desktops/gnome-3 {
+  gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 {
     callPackage = pkgs.newScope pkgs.gnome3;
     self = pkgs.gnome3;
-  };
+  });
 
   gnome = recurseIntoAttrs gnome2;
 
-  kde4 = recurseIntoAttrs pkgs.kde48;
-
-  kde47 = kdePackagesFor (pkgs.kde47 // {
-      boost = boost149;
-      eigen = eigen2;
-      libotr = libotr_3_2;
-      libgphoto2 = libgphoto2_4;
-      libcanberra = libcanberra_kde;
-    }) ../desktops/kde-4.7;
+  kde4 = recurseIntoAttrs pkgs.kde410;
 
   kde48 = kdePackagesFor (pkgs.kde48 // {
       boost = boost149;
@@ -9589,13 +9695,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 { };
 
@@ -9843,4 +9946,6 @@ let
 
   dart = callPackage ../development/interpreters/dart { };
 
+  httrack = callPackage ../tools/backup/httrack { };
+
 }; in pkgs
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 541b62d15d5..1d3caeadf36 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -581,6 +581,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   binaryShared = callPackage ../development/libraries/haskell/binary-shared {};
 
+  bindingsDSL = callPackage ../development/libraries/haskell/bindings-DSL {};
+
+  bindingsPosix = callPackage ../development/libraries/haskell/bindings-posix {};
+
   bitarray = callPackage ../development/libraries/haskell/bitarray {};
 
   bitmap = callPackage ../development/libraries/haskell/bitmap {};
@@ -710,6 +714,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {};
 
+  concatenative = callPackage ../development/libraries/haskell/concatenative {};
+
   conduit = callPackage ../development/libraries/haskell/conduit {};
 
   ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {};
@@ -887,6 +893,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   elerea = callPackage ../development/libraries/haskell/elerea {};
 
+  Elm = callPackage ../development/compilers/elm/elm.nix {};
+
+  elmServer = callPackage ../development/compilers/elm/elm-server.nix {};
+
   emailValidate = callPackage ../development/libraries/haskell/email-validate {};
 
   encoding = callPackage ../development/libraries/haskell/encoding {};
@@ -1069,6 +1079,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   happstackHamlet = callPackage ../development/libraries/haskell/happstack/happstack-hamlet.nix {};
 
+  happstackLite = callPackage ../development/libraries/haskell/happstack/happstack-lite.nix {};
+
   hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {};
   hashable_1_2_0_10 = callPackage ../development/libraries/haskell/hashable/1.2.0.10.nix {};
   hashable = self.hashable_1_2_0_10;
@@ -1247,6 +1259,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   ieee754 = callPackage ../development/libraries/haskell/ieee754 {};
 
+  indents = callPackage ../development/libraries/haskell/indents {};
+
   instantGenerics = callPackage ../development/libraries/haskell/instant-generics {};
 
   ioChoice = callPackage ../development/libraries/haskell/io-choice {};
@@ -1383,8 +1397,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   monadLogger = callPackage ../development/libraries/haskell/monad-logger {};
 
   monadPar_0_1_0_3 = callPackage ../development/libraries/haskell/monad-par/0.1.0.3.nix {};
-  monadPar_0_3_4_2 = callPackage ../development/libraries/haskell/monad-par/0.3.4.2.nix {};
-  monadPar = self.monadPar_0_3_4_2;
+  monadPar_0_3_4_3 = callPackage ../development/libraries/haskell/monad-par/0.3.4.3.nix {};
+  monadPar = self.monadPar_0_3_4_3;
 
   monadParExtras = callPackage ../development/libraries/haskell/monad-par-extras {};
 
@@ -1631,6 +1645,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   quickcheckIo = callPackage ../development/libraries/haskell/quickcheck-io {};
 
+  qrencode = callPackage ../development/libraries/haskell/qrencode {
+    inherit (pkgs) qrencode;
+  };
+
   RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {};
 
   random_1_0_1_1 = callPackage ../development/libraries/haskell/random/1.0.1.1.nix {};
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index ec40cc2cb5c..f8238b52a65 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1,3776 +1,6233 @@
 [
   {
-    baseName = "abbrev";
+    name = "abbrev";
+    spec = "1";
     version = "1.0.4";
-    fullName = "abbrev-1";
-    hash = "8dc0f480571a4a19e74f1abd4f31f6a70f94953d1ccafa16ed1a544a19a6f3a8";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+    tarball = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
+  }
+  {
+    name = "abbrev";
+    spec = "~1.0.4";
+    version = "1.0.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+    tarball = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
   }
   {
-    baseName = "amdefine";
-    version = "0.0.5";
-    fullName = "amdefine-*";
-    hash = "7d7a691c9742d4c9aaa8036b823823e45a676dec6897f2e072b90c7d37722fc1";
+    name = "active-x-obfuscator";
+    spec = "0.0.1";
+    version = "0.0.1";
+    topLevel = false;
+    dependencies = [
+      { name = "zeparser"; spec = "0.0.5"; }
+    ];
     patchLatest = false;
+    sha1 = "089b89b37145ff1d9ec74af6530be5526cae1f1a";
+    tarball = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
+  }
+  {
+    name = "addressparser";
+    spec = "~0.1";
+    version = "0.1.3";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
+    tarball = "http://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
+  }
+  {
+    name = "amdefine";
+    spec = "*";
+    version = "0.0.5";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "86b6e9470f8cde955ef7daa3cf5d544ba81aa3db";
+    tarball = "http://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz";
   }
   {
-    baseName = "amdefine";
+    name = "amdefine";
+    spec = ">=0.0.4";
     version = "0.0.5";
-    fullName = "amdefine->=0.0.4";
-    hash = "7d7a691c9742d4c9aaa8036b823823e45a676dec6897f2e072b90c7d37722fc1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "86b6e9470f8cde955ef7daa3cf5d544ba81aa3db";
+    tarball = "http://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz";
+  }
+  {
+    name = "ansi";
+    spec = "~0.1.2";
+    version = "0.1.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2627e29498f06e2a1c2ece9c21e28fd494430827";
+    tarball = "http://registry.npmjs.org/ansi/-/ansi-0.1.2.tgz";
   }
   {
-    baseName = "ansi-remover";
+    name = "ansi-remover";
+    spec = "*";
     version = "0.0.2";
-    fullName = "ansi-remover-*";
-    hash = "cda72261ea8d6b830892764d69eff8d926be852fc91ad3b8b5b258d606400bc7";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "7020086289f10e195d85d828de065ccdd50e6e66";
+    tarball = "http://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz";
   }
   {
-    baseName = "ansi";
-    version = "0.1.2";
-    fullName = "ansi-~0.1.2";
-    hash = "6f2288b1db642eb822578f4ee70bf26bf97173cc7d3f10f496070fb96250006b";
+    name = "apparatus";
+    spec = ">= 0.0.4";
+    version = "0.0.7";
+    topLevel = false;
+    dependencies = [
+      { name = "sylvester"; spec = ">= 0.0.8"; }
+    ];
     patchLatest = false;
+    sha1 = "033f355507b6851ebeb1bd9475ede23c802327fe";
+    tarball = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.7.tgz";
+  }
+  {
+    name = "archy";
+    spec = "0";
+    version = "0.0.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
+    tarball = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
   }
   {
-    baseName = "apparatus";
-    version = "0.0.7";
-    fullName = "apparatus->= 0.0.4";
-    hash = "77ce711505bf1c65222b5dd01e055284b25cf52ee3229fcae7fcfa3e5664826c";
+    name = "argparse";
+    spec = "0.1.15";
+    version = "0.1.15";
+    topLevel = false;
+    dependencies = [
+      { name = "underscore"; spec = "~1.4.3"; }
+      { name = "underscore.string"; spec = "~2.3.1"; }
+    ];
     patchLatest = false;
+    sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
+    tarball = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
+  }
+  {
+    name = "argparse";
+    spec = "~ 0.1.11";
+    version = "0.1.15";
     topLevel = false;
     dependencies = [
-      { name = "sylvester"; range = ">= 0.0.8"; }
+      { name = "underscore"; spec = "~1.4.3"; }
+      { name = "underscore.string"; spec = "~2.3.1"; }
     ];
+    patchLatest = false;
+    sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
+    tarball = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
   }
   {
-    baseName = "asn1";
+    name = "asn1";
+    spec = "0.1.11";
     version = "0.1.11";
-    fullName = "asn1-0.1.11";
-    hash = "7206eadc8a9344e484bcce979e22a12c9fa64c1395aa0544b8b767808b268f43";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+    tarball = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
   }
   {
-    baseName = "assert";
+    name = "assert";
+    spec = "*";
     version = "0.4.9";
-    fullName = "assert-*";
-    hash = "976a12385f7286d123734fabc7355bbeecd2532daccfada02909818b905abeeb";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "util"; range = ">= 0.4.9"; }
+      { name = "util"; spec = ">= 0.4.9"; }
     ];
+    patchLatest = false;
+    sha1 = "45faff1a58f718508118873dead940c8b51db939";
+    tarball = "http://registry.npmjs.org/assert/-/assert-0.4.9.tgz";
   }
   {
-    baseName = "assert-plus";
+    name = "assert-plus";
+    spec = "0.1.2";
     version = "0.1.2";
-    fullName = "assert-plus-0.1.2";
-    hash = "bd62e853460024d1e35d3f76065f4c856a271e55ef1ce684f3033314b7377c61";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+    tarball = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "*";
     version = "0.2.9";
-    fullName = "async-*";
-    hash = "7215c94b63ccaa543b4b75c5dd9b820fd4839e1f9616b08a0334a8ac74939c53";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "0.1.22";
     version = "0.1.22";
-    fullName = "async-0.1.x";
-    hash = "6fd2750cd519a754b0e32ef3423e64768055129e00a95d9297005bda29fdef18";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+    tarball = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
+  }
+  {
+    name = "async";
+    spec = "0.1.x";
+    version = "0.1.22";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+    tarball = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "0.2.x";
     version = "0.2.9";
-    fullName = "async-0.2.x";
-    hash = "7215c94b63ccaa543b4b75c5dd9b820fd4839e1f9616b08a0334a8ac74939c53";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "~0.2.6";
     version = "0.2.9";
-    fullName = "async-~0.2.6";
-    hash = "7215c94b63ccaa543b4b75c5dd9b820fd4839e1f9616b08a0334a8ac74939c53";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "~0.2.7";
     version = "0.2.9";
-    fullName = "async-~0.2.7";
-    hash = "7215c94b63ccaa543b4b75c5dd9b820fd4839e1f9616b08a0334a8ac74939c53";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
+  }
+  {
+    name = "async";
+    spec = "~0.2.9";
+    version = "0.2.9";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
   }
   {
-    baseName = "aws-sdk";
-    version = "1.3.1";
-    fullName = "aws-sdk-*";
-    hash = "1c8c49435a4ddf5ceb29b0c9d130893a95de30207785c3dc9d902c9174362967";
-    patchLatest = true;
+    name = "aws-sdk";
+    spec = "*";
+    version = "1.4.1";
     topLevel = true;
     dependencies = [
-      { name = "xml2js"; range = "0.2.4"; }
-      { name = "xmlbuilder"; range = "*"; }
+      { name = "xml2js"; spec = "0.2.4"; }
+      { name = "xmlbuilder"; spec = "*"; }
     ];
+    patchLatest = true;
+    sha1 = "e429d77c09f94aa2e295b7e83678d818ae5621e9";
+    tarball = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.4.1.tgz";
   }
   {
-    baseName = "aws-sdk";
-    version = "1.3.1";
-    fullName = "aws-sdk->=1.2.0 <2";
-    hash = "1c8c49435a4ddf5ceb29b0c9d130893a95de30207785c3dc9d902c9174362967";
-    patchLatest = true;
+    name = "aws-sdk";
+    spec = ">=1.2.0 <2";
+    version = "1.4.1";
     topLevel = false;
     dependencies = [
-      { name = "xml2js"; range = "0.2.4"; }
-      { name = "xmlbuilder"; range = "*"; }
+      { name = "xml2js"; spec = "0.2.4"; }
+      { name = "xmlbuilder"; spec = "*"; }
     ];
+    patchLatest = true;
+    sha1 = "e429d77c09f94aa2e295b7e83678d818ae5621e9";
+    tarball = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.4.1.tgz";
   }
   {
-    baseName = "aws-sign";
+    name = "aws-sign";
+    spec = "~0.2.0";
     version = "0.2.0";
-    fullName = "aws-sign-~0.2.0";
-    hash = "145962c6b9b4fe70f587fa745157522c2c6dac4c22bb6fdf3f6cb297f723647e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c55013856c8194ec854a0cbec90aab5a04ce3ac5";
+    tarball = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
   }
   {
-    baseName = "aws-sign";
+    name = "aws-sign";
+    spec = "~0.3.0";
     version = "0.3.0";
-    fullName = "aws-sign-~0.3.0";
-    hash = "5acca27ed2b1b9f081e4dd230e03808b6a038f8a4afa698db985320efe6dda5e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "3d81ca69b474b1e16518728b51c24ff0bbedc6e9";
+    tarball = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz";
   }
   {
-    baseName = "backbone";
+    name = "backbone";
+    spec = "*";
     version = "1.0.0";
-    fullName = "backbone-*";
-    hash = "6c66edc5134bb531b33a7f140c75c4a65cdc21711eed64c29300a84cba84f3a7";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "underscore"; range = ">=1.4.3"; }
+      { name = "underscore"; spec = ">=1.4.3"; }
     ];
+    patchLatest = false;
+    sha1 = "5e146e1efa8a5361462e578377c39ed0f16b0b4c";
+    tarball = "http://registry.npmjs.org/backbone/-/backbone-1.0.0.tgz";
   }
   {
-    baseName = "backoff";
+    name = "backoff";
+    spec = "2.1.0";
     version = "2.1.0";
-    fullName = "backoff-2.1.0";
-    hash = "d1f5bf32f2f5954f6259582ead30fc8a769db35bac9900c94593b77f915cee0d";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "19b4e9f9fb75c122ad7bb1c6c376d6085d43ea09";
+    tarball = "http://registry.npmjs.org/backoff/-/backoff-2.1.0.tgz";
+  }
+  {
+    name = "base64id";
+    spec = "0.1.0";
+    version = "0.1.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
+    tarball = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
   }
   {
-    baseName = "bcrypt";
+    name = "bcrypt";
+    spec = "*";
     version = "0.7.6";
-    fullName = "bcrypt-*";
-    hash = "e7964429b2bc8aea9b9fb66b914cb3a7952a77029ae13a5a4c4cdbf837d40b2a";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "bindings"; range = "1.0.0"; }
+      { name = "bindings"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "97eae4472baf2352699f5fd1662e77e63d0cd0aa";
+    tarball = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.7.6.tgz";
   }
   {
-    baseName = "bindings";
-    version = "1.1.0";
-    fullName = "bindings-*";
-    hash = "9ce864c7ce347eb3f8728fc03bc5a01f5e6195b145e6b9674eb2b98c5c715865";
-    patchLatest = false;
+    name = "bindings";
+    spec = "*";
+    version = "1.1.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "951f7ae010302ffc50b265b124032017ed2bf6f3";
+    tarball = "http://registry.npmjs.org/bindings/-/bindings-1.1.1.tgz";
   }
   {
-    baseName = "bindings";
+    name = "bindings";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "bindings-1.0.0";
-    hash = "cb211ac856d135af5ee864762fae9e554225a613ea1fd815c20b8fdd1679c9ed";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c3ccde60e9de6807c6f1aa4ef4843af29191c828";
+    tarball = "http://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz";
   }
   {
-    baseName = "block-stream";
-    version = "0.0.6";
-    fullName = "block-stream-*";
-    hash = "2fc365b42b8601c8ee150d453f6cc762a01054b7fb28bdfcfcbce7c97e93601b";
+    name = "block-stream";
+    spec = "*";
+    version = "0.0.7";
+    topLevel = false;
+    dependencies = [
+      { name = "inherits"; spec = "~2.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+    tarball = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
+  }
+  {
+    name = "block-stream";
+    spec = "0.0.7";
+    version = "0.0.7";
     topLevel = false;
     dependencies = [
-      { name = "inherits"; range = "~1.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+    tarball = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
   }
   {
-    baseName = "boom";
+    name = "boom";
+    spec = "0.3.x";
     version = "0.3.8";
-    fullName = "boom-0.3.x";
-    hash = "0ea9787bd5c5df98a06a2c7b629d4768c712611032d9af162332e825f9131d8a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.7.x"; }
+      { name = "hoek"; spec = "0.7.x"; }
     ];
+    patchLatest = false;
+    sha1 = "c8cdb041435912741628c044ecc732d1d17c09ea";
+    tarball = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
   }
   {
-    baseName = "boom";
+    name = "boom";
+    spec = "0.4.x";
     version = "0.4.2";
-    fullName = "boom-0.4.x";
-    hash = "294e022990269e7fa1e3015862d2d24847cc83c3e68d214dad5a2d0d3826a08f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.9.x"; }
+      { name = "hoek"; spec = "0.9.x"; }
     ];
+    patchLatest = false;
+    sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+    tarball = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
   }
   {
-    baseName = "broadway";
+    name = "broadway";
+    spec = "0.2.7";
     version = "0.2.7";
-    fullName = "broadway-0.2.7";
-    hash = "b1ceb289fb1a6de82cddab0851fc905bb60e75167d0e37f32147f8985fa8d368";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "cliff"; range = "0.1.8"; }
-      { name = "eventemitter2"; range = "0.4.11"; }
-      { name = "nconf"; range = "0.6.7"; }
-      { name = "winston"; range = "0.6.2"; }
-      { name = "utile"; range = "0.1.7"; }
+      { name = "cliff"; spec = "0.1.8"; }
+      { name = "eventemitter2"; spec = "0.4.11"; }
+      { name = "nconf"; spec = "0.6.7"; }
+      { name = "winston"; spec = "0.6.2"; }
+      { name = "utile"; spec = "0.1.7"; }
     ];
+    patchLatest = false;
+    sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
+    tarball = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
   }
   {
-    baseName = "broadway";
+    name = "broadway";
+    spec = "0.2.x";
     version = "0.2.7";
-    fullName = "broadway-0.2.x";
-    hash = "b1ceb289fb1a6de82cddab0851fc905bb60e75167d0e37f32147f8985fa8d368";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "cliff"; range = "0.1.8"; }
-      { name = "eventemitter2"; range = "0.4.11"; }
-      { name = "nconf"; range = "0.6.7"; }
-      { name = "winston"; range = "0.6.2"; }
-      { name = "utile"; range = "0.1.7"; }
+      { name = "cliff"; spec = "0.1.8"; }
+      { name = "eventemitter2"; spec = "0.4.11"; }
+      { name = "nconf"; spec = "0.6.7"; }
+      { name = "winston"; spec = "0.6.2"; }
+      { name = "utile"; spec = "0.1.7"; }
     ];
+    patchLatest = false;
+    sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
+    tarball = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
   }
   {
-    baseName = "browserchannel";
+    name = "browserchannel";
+    spec = "*";
     version = "1.0.4";
-    fullName = "browserchannel-*";
-    hash = "516add6af10f887500c5eaae7347ce92c0101a6bea1a67d5221a674d07bc7999";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "hat"; range = "*"; }
-      { name = "connect"; range = "~2"; }
-      { name = "request"; range = "~2"; }
+      { name = "hat"; spec = "*"; }
+      { name = "connect"; spec = "~2"; }
+      { name = "request"; spec = "~2"; }
     ];
+    patchLatest = false;
+    sha1 = "077c1d59d7872d84932172d373c5f8f45698e975";
+    tarball = "http://registry.npmjs.org/browserchannel/-/browserchannel-1.0.4.tgz";
   }
   {
-    baseName = "bson";
+    name = "bson";
+    spec = "0.1.8";
     version = "0.1.8";
-    fullName = "bson-0.1.8";
-    hash = "a9cbdee757f213b93aca860fc06143b1f9e9a983130616732beab452681bae17";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "cf34fdcff081a189b589b4b3e5e9309cd6506c81";
+    tarball = "http://registry.npmjs.org/bson/-/bson-0.1.8.tgz";
   }
   {
-    baseName = "bson";
+    name = "bson";
+    spec = "0.1.9";
     version = "0.1.9";
-    fullName = "bson-0.1.9";
-    hash = "8bb768566c4e8063883d07d2c7965ce8e5380892fd5e34448729c7f44c5f42c8";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "7528f81ed770e6d630ca8c2ccdf5394a4096db14";
+    tarball = "http://registry.npmjs.org/bson/-/bson-0.1.9.tgz";
   }
   {
-    baseName = "buffer-crc32";
+    name = "buffer-crc32";
+    spec = "0.1.1";
     version = "0.1.1";
-    fullName = "buffer-crc32-0.1.1";
-    hash = "9e35b724e4e1fd7112e97a6856e7d52b2644761c184f1ed391f6a576fbbb80e1";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+    tarball = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
   }
   {
-    baseName = "buffer-crc32";
+    name = "buffer-crc32";
+    spec = "0.2.1";
     version = "0.2.1";
-    fullName = "buffer-crc32-0.2.1";
-    hash = "b6ea96d57411e37c15e18fb8ca600656399912ce16355f9af3c662f765507f01";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+    tarball = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
   }
   {
-    baseName = "buffer-crc32";
+    name = "buffer-crc32";
+    spec = "~0.2.1";
     version = "0.2.1";
-    fullName = "buffer-crc32-~0.2.1";
-    hash = "b6ea96d57411e37c15e18fb8ca600656399912ce16355f9af3c662f765507f01";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+    tarball = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
+  }
+  {
+    name = "buffer-equal";
+    spec = "~0.0.0";
+    version = "0.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4a68196ac33522daa17ec99858b302a636b62cf1";
+    tarball = "http://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.0.tgz";
   }
   {
-    baseName = "buffertools";
+    name = "buffertools";
+    spec = "*";
     version = "1.1.1";
-    fullName = "buffertools-*";
-    hash = "f5962aec81246077a46ee075072d40fa533c31ada7a0ec18e1ff3600af2d8f3f";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
+    tarball = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
   }
   {
-    baseName = "buffertools";
+    name = "buffertools";
+    spec = ">=1.1.1 <2.0.0";
     version = "1.1.1";
-    fullName = "buffertools->=1.1.1 <2.0.0";
-    hash = "f5962aec81246077a46ee075072d40fa533c31ada7a0ec18e1ff3600af2d8f3f";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
+    tarball = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
+  }
+  {
+    name = "bunker";
+    spec = "0.1.X";
+    version = "0.1.2";
     topLevel = false;
     dependencies = [
+      { name = "burrito"; spec = ">=0.2.5 <0.3"; }
     ];
+    patchLatest = false;
+    sha1 = "c88992464a8e2a6ede86930375f92b58077ef97c";
+    tarball = "http://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz";
   }
   {
-    baseName = "bunyan";
+    name = "bunyan";
+    spec = "0.21.1";
     version = "0.21.1";
-    fullName = "bunyan-0.21.1";
-    hash = "95dca2405dcbe5b700e15d7c89b2a64fb21a097fb7ada5c274979f2057adcbef";
+    topLevel = false;
+    dependencies = [
+      { name = "mv"; spec = "0.0.5"; }
+      { name = "dtrace-provider"; spec = "0.2.8"; }
+    ];
     patchLatest = false;
+    sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
+    tarball = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
+  }
+  {
+    name = "burrito";
+    spec = ">=0.2.5 <0.3";
+    version = "0.2.12";
     topLevel = false;
     dependencies = [
-      { name = "mv"; range = "0.0.5"; }
-      { name = "dtrace-provider"; range = "0.2.8"; }
+      { name = "traverse"; spec = "~0.5.1"; }
+      { name = "uglify-js"; spec = "~1.1.1"; }
     ];
+    patchLatest = false;
+    sha1 = "d0d6e6ac81d5e99789c6fa4accb0b0031ea54f6b";
+    tarball = "http://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz";
   }
   {
-    baseName = "bytes";
+    name = "bytes";
+    spec = "0.2.0";
     version = "0.2.0";
-    fullName = "bytes-0.2.0";
-    hash = "e70bd4dccc886a5cf1c925092b4acd7a262a9da3e1b51ccde10a3fcd0a328465";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
+    tarball = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
   }
   {
-    baseName = "character-parser";
+    name = "character-parser";
+    spec = "1.0.2";
     version = "1.0.2";
-    fullName = "character-parser-1.0.2";
-    hash = "751edecb1143ea951e9cef5c7e1ac71526c712cfab538d09cbb2e90e56d76865";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "55384d6afcf8c6b9dd483e8347646a790e4545e7";
+    tarball = "http://registry.npmjs.org/character-parser/-/character-parser-1.0.2.tgz";
+  }
+  {
+    name = "charm";
+    spec = "0.1.x";
+    version = "0.1.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
+    tarball = "http://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
   }
   {
-    baseName = "cli";
-    version = "0.4.4-2";
-    fullName = "cli-0.4.x";
-    hash = "27a0db02501285da601c47495d0cd837ddeb4577bfd507c5503d2ee8cd0caffb";
+    name = "child-process-close";
+    spec = "~0.1.1";
+    version = "0.1.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "c153ede7a5eb65ac69e78a38973b1a286377f75f";
+    tarball = "http://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz";
+  }
+  {
+    name = "chmodr";
+    spec = "~0.1.0";
+    version = "0.1.0";
     topLevel = false;
     dependencies = [
-      { name = "glob"; range = ">= 3.1.4"; }
     ];
+    patchLatest = false;
+    sha1 = "e09215a1d51542db2a2576969765bcf6125583eb";
+    tarball = "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz";
   }
   {
-    baseName = "cliff";
-    version = "0.1.8";
-    fullName = "cliff-0.1.8";
-    hash = "702f7ce79168e38b982eb3141485bd99e3a6480dac42f579365dc522c3950588";
+    name = "chownr";
+    spec = "0";
+    version = "0.0.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "51d18189d9092d5f8afd623f3288bfd1c6bf1a62";
+    tarball = "http://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz";
+  }
+  {
+    name = "cli";
+    spec = "0.4.x";
+    version = "0.4.4";
     topLevel = false;
     dependencies = [
-      { name = "colors"; range = "0.x.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "winston"; range = "0.6.x"; }
+      { name = "glob"; spec = ">= 3.1.4"; }
     ];
+    patchLatest = false;
+    sha1 = "13ceb30872e7c9addc383e5519fb2949ab61ba43";
+    tarball = "http://registry.npmjs.org/cli/-/cli-0.4.4.tgz";
   }
   {
-    baseName = "clone";
-    version = "0.1.5";
-    fullName = "clone-0.1.5";
-    hash = "9fd586470ccc3fa585dcccad730b5e6fa9c471b49acdb38d724c110777a287d9";
+    name = "cliff";
+    spec = "0.1.8";
+    version = "0.1.8";
+    topLevel = false;
+    dependencies = [
+      { name = "colors"; spec = "0.x.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "winston"; spec = "0.6.x"; }
+    ];
     patchLatest = false;
+    sha1 = "43ca8ad9fe3943489693ab62dce0cae22509d272";
+    tarball = "http://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz";
+  }
+  {
+    name = "clone";
+    spec = "0.1.5";
+    version = "0.1.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "46f29143d0766d663dbd7f80b7520a15783d2042";
+    tarball = "http://registry.npmjs.org/clone/-/clone-0.1.5.tgz";
   }
   {
-    baseName = "clone";
+    name = "clone";
+    spec = "0.1.6";
     version = "0.1.6";
-    fullName = "clone-0.1.6";
-    hash = "9849c9faa2549d982106d3b43862dc4ceb308563badcd3ff59e30655d54e897a";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "4af2296d4a23a64168c2f5fb0a2aa65e80517000";
+    tarball = "http://registry.npmjs.org/clone/-/clone-0.1.6.tgz";
+  }
+  {
+    name = "cmd-shim";
+    spec = "~1.0.1";
+    version = "1.0.1";
     topLevel = false;
     dependencies = [
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "graceful-fs"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "75e917c2185240854718c686346770640083d7bc";
+    tarball = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.0.1.tgz";
   }
   {
-    baseName = "coffee-script";
+    name = "coffee-script";
+    spec = "*";
     version = "1.6.3";
-    fullName = "coffee-script-*";
-    hash = "642d226d4fab1a8464e54347cec919b1c8771da55d88e3ceb15d826fcee84525";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+    tarball = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
   }
   {
-    baseName = "colors";
-    version = "0.6.0-1";
-    fullName = "colors-0.6.0-1";
-    hash = "ca97f462664d77f5ae813029d020d4610ec9fd3f9eef3875e551d3665be7ab7d";
+    name = "coffee-script";
+    spec = ">= 0.0.1";
+    version = "1.6.3";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+    tarball = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
+  }
+  {
+    name = "coffee-script";
+    spec = ">=1.2.0";
+    version = "1.6.3";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+    tarball = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
   }
   {
-    baseName = "colors";
+    name = "colors";
+    spec = "0.6.0-1";
     version = "0.6.0-1";
-    fullName = "colors-0.6.x";
-    hash = "ca97f462664d77f5ae813029d020d4610ec9fd3f9eef3875e551d3665be7ab7d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6dbb68ceb8bc60f2b313dcc5ce1599f06d19e67a";
+    tarball = "http://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz";
   }
   {
-    baseName = "colors";
-    version = "0.6.0-1";
-    fullName = "colors-0.x.x";
-    hash = "ca97f462664d77f5ae813029d020d4610ec9fd3f9eef3875e551d3665be7ab7d";
+    name = "colors";
+    spec = "0.6.x";
+    version = "0.6.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "07ec10d8ac4f5a2e78f8d820e3e7832b3b463cad";
+    tarball = "http://registry.npmjs.org/colors/-/colors-0.6.0.tgz";
+  }
+  {
+    name = "colors";
+    spec = "0.x.x";
+    version = "0.6.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "07ec10d8ac4f5a2e78f8d820e3e7832b3b463cad";
+    tarball = "http://registry.npmjs.org/colors/-/colors-0.6.0.tgz";
   }
   {
-    baseName = "combined-stream";
+    name = "combined-stream";
+    spec = "~0.0.4";
     version = "0.0.4";
-    fullName = "combined-stream-~0.0.4";
-    hash = "2502ed7a4406db1a65b09cae3106221051d6af20d3f1d7e8cc38cfc72a36432c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "delayed-stream"; range = "0.0.5"; }
+      { name = "delayed-stream"; spec = "0.0.5"; }
     ];
+    patchLatest = false;
+    sha1 = "2d1a43347dbe9515a4a2796732e5b88473840b22";
+    tarball = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz";
   }
   {
-    baseName = "commander";
+    name = "commander";
+    spec = "0.5.1";
     version = "0.5.1";
-    fullName = "commander-0.5.1";
-    hash = "91042851d0731b28a5e7c342e5cbce7723a7243d31ae378fa86c45ca9493a924";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "08477afb326d1adf9d4ee73af7170c70caa14f95";
+    tarball = "http://registry.npmjs.org/commander/-/commander-0.5.1.tgz";
   }
   {
-    baseName = "commander";
+    name = "commander";
+    spec = "0.6.1";
     version = "0.6.1";
-    fullName = "commander-0.6.1";
-    hash = "7b7fdd1bc4d16f6776169a64f133d629efe2e3a7cd338b1d0884ee909abbd729";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+    tarball = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
   }
   {
-    baseName = "commander";
+    name = "commander";
+    spec = "1.2.0";
     version = "1.2.0";
-    fullName = "commander-1.2.0";
-    hash = "caeda1cecf7c1b5bf505cdf8d34b984db6ebb307af3798f4af2efdb554d31a4b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "keypress"; range = "0.1.x"; }
+      { name = "keypress"; spec = "0.1.x"; }
     ];
+    patchLatest = false;
+    sha1 = "fd5713bfa153c7d6cc599378a5ab4c45c535029e";
+    tarball = "http://registry.npmjs.org/commander/-/commander-1.2.0.tgz";
   }
   {
-    baseName = "connect";
-    version = "2.7.5";
-    fullName = "connect-2.7.5";
-    hash = "0c36efa44c6fee030b617a57e52c23f92e7e3949ed01405ee0cb9804403d137f";
+    name = "commander";
+    spec = "~0.6.1";
+    version = "0.6.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+    tarball = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+  }
+  {
+    name = "config";
+    spec = "0.4.15";
+    version = "0.4.15";
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "0.5.1"; }
-      { name = "formidable"; range = "1.0.11"; }
-      { name = "cookie-signature"; range = "1.0.0"; }
-      { name = "buffer-crc32"; range = "0.1.1"; }
-      { name = "cookie"; range = "0.0.5"; }
-      { name = "send"; range = "0.1.0"; }
-      { name = "bytes"; range = "0.2.0"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "pause"; range = "0.0.1"; }
-      { name = "debug"; range = "*"; }
+      { name = "js-yaml"; spec = "0.3.x"; }
+      { name = "coffee-script"; spec = ">=1.2.0"; }
+      { name = "vows"; spec = ">=0.5.13"; }
     ];
+    patchLatest = false;
+    sha1 = "d43ddf58b8df5637fdd1314fc816ccae7bfbcd18";
+    tarball = "http://registry.npmjs.org/config/-/config-0.4.15.tgz";
   }
   {
-    baseName = "connect";
-    version = "2.8.1";
-    fullName = "connect-2.8.1";
-    hash = "f838a4e8bccdf065cda7affe0118f018bdf1baa87375cd1df92e2cff29da2948";
+    name = "config-chain";
+    spec = "~1.1.1";
+    version = "1.1.7";
+    topLevel = false;
+    dependencies = [
+      { name = "proto-list"; spec = "~1.2.1"; }
+      { name = "ini"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "99fcaaaf343a557782a142d201747bb8142bbf9a";
+    tarball = "http://registry.npmjs.org/config-chain/-/config-chain-1.1.7.tgz";
+  }
+  {
+    name = "connect";
+    spec = "2.7.5";
+    version = "2.7.5";
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "0.6.5"; }
-      { name = "formidable"; range = "1.0.14"; }
-      { name = "cookie-signature"; range = "1.0.1"; }
-      { name = "buffer-crc32"; range = "0.2.1"; }
-      { name = "cookie"; range = "0.0.5"; }
-      { name = "send"; range = "0.1.1"; }
-      { name = "bytes"; range = "0.2.0"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "pause"; range = "0.0.1"; }
-      { name = "uid2"; range = "0.0.2"; }
-      { name = "debug"; range = "*"; }
+      { name = "qs"; spec = "0.5.1"; }
+      { name = "formidable"; spec = "1.0.11"; }
+      { name = "cookie-signature"; spec = "1.0.0"; }
+      { name = "buffer-crc32"; spec = "0.1.1"; }
+      { name = "cookie"; spec = "0.0.5"; }
+      { name = "send"; spec = "0.1.0"; }
+      { name = "bytes"; spec = "0.2.0"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "pause"; spec = "0.0.1"; }
+      { name = "debug"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "139111b4b03f0533a524927a88a646ae467b2c02";
+    tarball = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
   }
   {
-    baseName = "connect-flash";
-    version = "0.1.1";
-    fullName = "connect-flash-*";
-    hash = "3a0a9ac9d73695abcf67a88cb1bc433cc67c55aeca3b515eb922453c7ba0c393";
+    name = "connect";
+    spec = "2.7.6";
+    version = "2.7.6";
+    topLevel = false;
+    dependencies = [
+      { name = "qs"; spec = "0.5.1"; }
+      { name = "formidable"; spec = "1.0.11"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "buffer-crc32"; spec = "0.1.1"; }
+      { name = "cookie"; spec = "0.0.5"; }
+      { name = "send"; spec = "0.1.0"; }
+      { name = "bytes"; spec = "0.2.0"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "pause"; spec = "0.0.1"; }
+      { name = "debug"; spec = "*"; }
+    ];
     patchLatest = false;
-    topLevel = true;
+    sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
+    tarball = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
+  }
+  {
+    name = "connect";
+    spec = "2.8.4";
+    version = "2.8.4";
+    topLevel = false;
     dependencies = [
+      { name = "qs"; spec = "0.6.5"; }
+      { name = "formidable"; spec = "1.0.14"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "buffer-crc32"; spec = "0.2.1"; }
+      { name = "cookie"; spec = "0.1.0"; }
+      { name = "send"; spec = "0.1.3"; }
+      { name = "bytes"; spec = "0.2.0"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "pause"; spec = "0.0.1"; }
+      { name = "uid2"; spec = "0.0.2"; }
+      { name = "debug"; spec = "*"; }
+      { name = "methods"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "ead3eb0e7c5e79bf25e246371d85849cbbbbc656";
+    tarball = "http://registry.npmjs.org/connect/-/connect-2.8.4.tgz";
   }
   {
-    baseName = "connect-mongo";
-    version = "0.3.2";
-    fullName = "connect-mongo-*";
-    hash = "1f37b52d7816769f33dfa94fad0323f8685139a3a01d738b7a29531f172f86b6";
+    name = "connect";
+    spec = "~2";
+    version = "2.8.4";
+    topLevel = false;
+    dependencies = [
+      { name = "qs"; spec = "0.6.5"; }
+      { name = "formidable"; spec = "1.0.14"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "buffer-crc32"; spec = "0.2.1"; }
+      { name = "cookie"; spec = "0.1.0"; }
+      { name = "send"; spec = "0.1.3"; }
+      { name = "bytes"; spec = "0.2.0"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "pause"; spec = "0.0.1"; }
+      { name = "uid2"; spec = "0.0.2"; }
+      { name = "debug"; spec = "*"; }
+      { name = "methods"; spec = "0.0.1"; }
+    ];
     patchLatest = false;
+    sha1 = "ead3eb0e7c5e79bf25e246371d85849cbbbbc656";
+    tarball = "http://registry.npmjs.org/connect/-/connect-2.8.4.tgz";
+  }
+  {
+    name = "connect-flash";
+    spec = "*";
+    version = "0.1.1";
     topLevel = true;
     dependencies = [
-      { name = "mongodb"; range = "1.2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "d8630f26d95a7f851f9956b1e8cc6732f3b6aa30";
+    tarball = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
   }
   {
-    baseName = "connect";
-    version = "2.8.1";
-    fullName = "connect-~2";
-    hash = "f838a4e8bccdf065cda7affe0118f018bdf1baa87375cd1df92e2cff29da2948";
-    patchLatest = false;
+    name = "connect-flash";
+    spec = "0.1.0";
+    version = "0.1.0";
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "0.6.5"; }
-      { name = "formidable"; range = "1.0.14"; }
-      { name = "cookie-signature"; range = "1.0.1"; }
-      { name = "buffer-crc32"; range = "0.2.1"; }
-      { name = "cookie"; range = "0.0.5"; }
-      { name = "send"; range = "0.1.1"; }
-      { name = "bytes"; range = "0.2.0"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "pause"; range = "0.0.1"; }
-      { name = "uid2"; range = "0.0.2"; }
-      { name = "debug"; range = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "82b381d61a12b651437df1c259c1f1c841239b88";
+    tarball = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz";
   }
   {
-    baseName = "console-browserify";
-    version = "0.1.6";
-    fullName = "console-browserify-0.1.x";
-    hash = "e774c881920562b0893e50844332f79fc5a08752d28791d942c35fcc3ef2d75d";
+    name = "connect-mongo";
+    spec = "*";
+    version = "0.3.3";
+    topLevel = true;
+    dependencies = [
+      { name = "mongodb"; spec = "1.2.x"; }
+    ];
     patchLatest = false;
+    sha1 = "aeaa1ca8c947599131bd90e1a024cdb789fe0100";
+    tarball = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.3.3.tgz";
+  }
+  {
+    name = "console-browserify";
+    spec = "0.1.x";
+    version = "0.1.6";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d128a3c0bb88350eb5626c6e7c71a6f0fd48983c";
+    tarball = "http://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz";
   }
   {
-    baseName = "constantinople";
+    name = "constantinople";
+    spec = "~1.0.1";
     version = "1.0.1";
-    fullName = "constantinople-~1.0.1";
-    hash = "3740bec1b48ee60653c946ab295fecefb9c08b47e1a495330757b415c7cd402f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "uglify-js"; range = "~2.3.6"; }
+      { name = "uglify-js"; spec = "~2.3.6"; }
     ];
+    patchLatest = false;
+    sha1 = "038727385eb70567ffb5a825abc44870b56f4de9";
+    tarball = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.1.tgz";
   }
   {
-    baseName = "cookie";
+    name = "cookie";
+    spec = "0.0.5";
     version = "0.0.5";
-    fullName = "cookie-0.0.5";
-    hash = "17938b21dcd85f09994b85484abb5aeddc4e92c61d1b599b764bbaaa7ad6adee";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+    tarball = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
   }
   {
-    baseName = "cookie";
+    name = "cookie";
+    spec = "0.1.0";
     version = "0.1.0";
-    fullName = "cookie-0.1.0";
-    hash = "aff5d22a617d744319cc70e42fc4ab11bcbcf924244af565495fa799c0639650";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "90eb469ddce905c866de687efc43131d8801f9d0";
+    tarball = "http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
   }
   {
-    baseName = "cookie-jar";
+    name = "cookie-jar";
+    spec = "~0.2.0";
     version = "0.2.0";
-    fullName = "cookie-jar-~0.2.0";
-    hash = "eeb643c638f828e39dfc9f44ad8d8e5376930868fdcaf3818ff316806e65af6d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "64ecc06ac978db795e4b5290cbe48ba3781400fa";
+    tarball = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
   }
   {
-    baseName = "cookie-jar";
+    name = "cookie-jar";
+    spec = "~0.3.0";
     version = "0.3.0";
-    fullName = "cookie-jar-~0.3.0";
-    hash = "c7bac7739b9ceb194f431a4a9ac1a0ba4ffd4a60492c61dd1925dbcdb9030746";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "bc9a27d4e2b97e186cd57c9e2063cb99fa68cccc";
+    tarball = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz";
   }
   {
-    baseName = "cookie-signature";
+    name = "cookie-signature";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "cookie-signature-1.0.0";
-    hash = "990a69fb94e6504390dd0fe935b9fe380f925e1a8360e200e97baa908fca86c6";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0044f332ac623df851c914e88eacc57f0c9704fe";
+    tarball = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz";
   }
   {
-    baseName = "cookie-signature";
+    name = "cookie-signature";
+    spec = "1.0.1";
     version = "1.0.1";
-    fullName = "cookie-signature-1.0.1";
-    hash = "e2ea4f290fdcfe82d8fb76991fee4106d4ae1f5d5a2f8b8d91442e047c538c8e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
+    tarball = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
   }
   {
-    baseName = "cookiejar";
+    name = "cookiejar";
+    spec = "1.3.0";
     version = "1.3.0";
-    fullName = "cookiejar-1.3.0";
-    hash = "3bf00caf0e2f9dcd03c7175dcf6c5d700fa6d6f6f7ed77875b986e3c1a606ba7";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "dd00b35679021e99cbd4e855b9ad041913474765";
+    tarball = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz";
   }
   {
-    baseName = "cryptiles";
-    version = "0.1.3";
-    fullName = "cryptiles-0.1.x";
-    hash = "bac017be67d2b33c01a9b625726b3f8e1e1786711f3132a3cc6f85779ee1d103";
-    patchLatest = false;
+    name = "cookies";
+    spec = ">= 0.2.2";
+    version = "0.3.6";
     topLevel = false;
     dependencies = [
-      { name = "boom"; range = "0.3.x"; }
     ];
+    patchLatest = false;
+    sha1 = "1b5e4bd66fc732ea2e8b5087a8fb3718b4ec8597";
+    tarball = "http://registry.npmjs.org/cookies/-/cookies-0.3.6.tgz";
   }
   {
-    baseName = "cryptiles";
-    version = "0.2.1";
-    fullName = "cryptiles-0.2.x";
-    hash = "a7ad8087bf6abbbfa0ae159756c04326a490f373212f6f2fd0f3a1f63f475892";
-    patchLatest = false;
+    name = "couch-login";
+    spec = "~0.1.15";
+    version = "0.1.17";
     topLevel = false;
     dependencies = [
-      { name = "boom"; range = "0.4.x"; }
+      { name = "request"; spec = "2 >=2.14"; }
     ];
+    patchLatest = false;
+    sha1 = "ab3ac31dd56e1061ea5f7faa838c7bda32a2b2ed";
+    tarball = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.17.tgz";
   }
   {
-    baseName = "css-parse";
-    version = "1.0.4";
-    fullName = "css-parse-1.0.4";
-    hash = "3d7dcc526083cc1dc584d10c179100a199a82e93991c8bdc92b96ee4bfb7ccac";
-    patchLatest = false;
+    name = "cryptiles";
+    spec = "0.1.x";
+    version = "0.1.3";
     topLevel = false;
     dependencies = [
+      { name = "boom"; spec = "0.3.x"; }
     ];
+    patchLatest = false;
+    sha1 = "1a556734f06d24ba34862ae9cb9e709a3afbff1c";
+    tarball = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
   }
   {
-    baseName = "css-stringify";
-    version = "1.0.5";
-    fullName = "css-stringify-1.0.5";
-    hash = "ef45a473b200f24e4cb2f0a97da70b629261ae8a54482e49e1eabc3e4cc36c0e";
-    patchLatest = false;
+    name = "cryptiles";
+    spec = "0.2.x";
+    version = "0.2.2";
     topLevel = false;
     dependencies = [
+      { name = "boom"; spec = "0.4.x"; }
     ];
+    patchLatest = false;
+    sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+    tarball = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
   }
   {
-    baseName = "css";
+    name = "css";
+    spec = "~1.0.8";
     version = "1.0.8";
-    fullName = "css-~1.0.8";
-    hash = "535bcca2a3635e315a5add3536d2b97fe5636bbee5d039e4fadd8cd422912b8b";
+    topLevel = false;
+    dependencies = [
+      { name = "css-parse"; spec = "1.0.4"; }
+      { name = "css-stringify"; spec = "1.0.5"; }
+    ];
     patchLatest = false;
+    sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
+    tarball = "http://registry.npmjs.org/css/-/css-1.0.8.tgz";
+  }
+  {
+    name = "css-parse";
+    spec = "1.0.4";
+    version = "1.0.4";
     topLevel = false;
     dependencies = [
-      { name = "css-parse"; range = "1.0.4"; }
-      { name = "css-stringify"; range = "1.0.5"; }
     ];
+    patchLatest = false;
+    sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
+    tarball = "http://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
   }
   {
-    baseName = "cssom";
-    version = "0.2.5";
-    fullName = "cssom-0.2.x";
-    hash = "22594077e4241c81038cdaac23fcb5ed7f8329a1dc5645286fa55db45c8ac13b";
+    name = "css-stringify";
+    spec = "1.0.5";
+    version = "1.0.5";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
+    tarball = "http://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
+  }
+  {
+    name = "cssom";
+    spec = "0.2.x";
+    version = "0.2.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2682709b5902e7212df529116ff788cd5b254894";
+    tarball = "http://registry.npmjs.org/cssom/-/cssom-0.2.5.tgz";
   }
   {
-    baseName = "ctype";
+    name = "ctype";
+    spec = "0.5.0";
     version = "0.5.0";
-    fullName = "ctype-0.5.0";
-    hash = "50157e6c5e44d1c833bfc239a7a337ee08fd6f3c5a15f7ef5cee5571a86b0378";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "672673ec67587eb495c1ed694da1abb964ff65e3";
+    tarball = "http://registry.npmjs.org/ctype/-/ctype-0.5.0.tgz";
   }
   {
-    baseName = "ctype";
+    name = "ctype";
+    spec = "0.5.2";
     version = "0.5.2";
-    fullName = "ctype-0.5.2";
-    hash = "4a7224a74f19dc6a1206fa1c04ae1a4ab795cd4ba842466e2f511fa714f82c60";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+    tarball = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
   }
   {
-    baseName = "cycle";
+    name = "cycle";
+    spec = "1.0.x";
     version = "1.0.2";
-    fullName = "cycle-1.0.x";
-    hash = "ee5dd9af8f0a59624bb32bb6a6f67c13710e180112dba5a578f3d427a3268748";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "269aca6f1b8d2baeefc8ccbc888b459f322c4e60";
+    tarball = "http://registry.npmjs.org/cycle/-/cycle-1.0.2.tgz";
   }
   {
-    baseName = "debug";
+    name = "debug";
+    spec = "*";
     version = "0.7.2";
-    fullName = "debug-*";
-    hash = "f9142856b1c2652a11e50f2aca068edbad7598f50d9e6d003b8ee85b2a333d63";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+    tarball = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
   }
   {
-    baseName = "debug";
+    name = "debug";
+    spec = "~0.7.0";
     version = "0.7.2";
-    fullName = "debug-~0.7.0";
-    hash = "f9142856b1c2652a11e50f2aca068edbad7598f50d9e6d003b8ee85b2a333d63";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+    tarball = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
   }
   {
-    baseName = "debug";
+    name = "debug";
+    spec = "~0.7.2";
     version = "0.7.2";
-    fullName = "debug-~0.7.2";
-    hash = "f9142856b1c2652a11e50f2aca068edbad7598f50d9e6d003b8ee85b2a333d63";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+    tarball = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
   }
   {
-    baseName = "deep-equal";
+    name = "deep-equal";
+    spec = "*";
     version = "0.0.0";
-    fullName = "deep-equal-*";
-    hash = "6a5666d4bfa5d2786a9f86ede2eaa8252f783edb9d78e69cba645f7cb6e153b8";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+    tarball = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+  }
+  {
+    name = "deep-equal";
+    spec = "0.0.0";
+    version = "0.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+    tarball = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
   }
   {
-    baseName = "deep-equal";
+    name = "deep-equal";
+    spec = "~0.0.0";
     version = "0.0.0";
-    fullName = "deep-equal-0.0.0";
-    hash = "6a5666d4bfa5d2786a9f86ede2eaa8252f783edb9d78e69cba645f7cb6e153b8";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+    tarball = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+  }
+  {
+    name = "deep-is";
+    spec = "0.1.x";
+    version = "0.1.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9ced65ea0bc0b09f42a6d79c1b1903f9d913cc18";
+    tarball = "http://registry.npmjs.org/deep-is/-/deep-is-0.1.2.tgz";
   }
   {
-    baseName = "delayed-stream";
+    name = "delayed-stream";
+    spec = "0.0.5";
     version = "0.0.5";
-    fullName = "delayed-stream-0.0.5";
-    hash = "f40e440dac0f853577d5225d7bd4b2026ea1447a724f4ba1096e29983ee595dd";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+    tarball = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
   }
   {
-    baseName = "diff";
+    name = "diff";
+    spec = "1.0.2";
     version = "1.0.2";
-    fullName = "diff-1.0.2";
-    hash = "5de1d8c3f2bfc447a7e664cadd4aca2ef4952a43256310cc51a36b30b5be3045";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "4ae73f1aee8d6fcf484f1a1ce77ce651d9b7f0c9";
+    tarball = "http://registry.npmjs.org/diff/-/diff-1.0.2.tgz";
+  }
+  {
+    name = "diff";
+    spec = "~1.0.3";
+    version = "1.0.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "664b6bdb113fb3a51ced79aff621badeed29a02c";
+    tarball = "http://registry.npmjs.org/diff/-/diff-1.0.5.tgz";
   }
   {
-    baseName = "director";
-    version = "1.1.10";
-    fullName = "director-1.1.10";
-    hash = "292c96d0d5bf8276a498595c576a6cfc832247703f2b75f09ad37c19caa5fca6";
+    name = "difflet";
+    spec = "~0.2.0";
+    version = "0.2.6";
+    topLevel = false;
+    dependencies = [
+      { name = "traverse"; spec = "0.6.x"; }
+      { name = "charm"; spec = "0.1.x"; }
+      { name = "deep-is"; spec = "0.1.x"; }
+    ];
     patchLatest = false;
+    sha1 = "ab23b31f5649b6faa8e3d2acbd334467365ca6fa";
+    tarball = "http://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz";
+  }
+  {
+    name = "director";
+    spec = "1.1.10";
+    version = "1.1.10";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "e6c1d64f2f079216f19ea83b566035dde9901179";
+    tarball = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
   }
   {
-    baseName = "dtrace-provider";
+    name = "dtrace-provider";
+    spec = "0.2.8";
     version = "0.2.8";
-    fullName = "dtrace-provider-0.2.8";
-    hash = "200941239983fa0953415cf28e96d9347c50218d31280604cfc9252e448e714c";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "e243f19219aa95fbf0d8f2ffb07f5bd64e94fe20";
+    tarball = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
+  }
+  {
+    name = "editor";
+    spec = "0.0.4";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "478920f77bca6c1c1749d5e3edde4bd5966efda8";
+    tarball = "http://registry.npmjs.org/editor/-/editor-0.0.4.tgz";
+  }
+  {
+    name = "ejs";
+    spec = "0.8.3";
+    version = "0.8.3";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "db8aac47ff80a7df82b4c82c126fe8970870626f";
+    tarball = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
   }
   {
-    baseName = "emitter-component";
+    name = "emitter-component";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "emitter-component-1.0.0";
-    hash = "1ffc29fc11b2e4ccbac6064443e65a606a21d826e313886932596bf11784dcdb";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f04dd18fc3dc3e9a74cbc0f310b088666e4c016f";
+    tarball = "http://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz";
+  }
+  {
+    name = "encoding";
+    spec = "~0.1";
+    version = "0.1.6";
     topLevel = false;
     dependencies = [
+      { name = "iconv-lite"; spec = "0.2.7"; }
     ];
+    patchLatest = false;
+    sha1 = "fec66b6d1c6b8cc554aa78c05ece35bef11a913f";
+    tarball = "http://registry.npmjs.org/encoding/-/encoding-0.1.6.tgz";
   }
   {
-    baseName = "escape-html";
+    name = "escape-html";
+    spec = "*";
     version = "1.0.0";
-    fullName = "escape-html-*";
-    hash = "c763095c6b27fddf666f34d48a4f09f95009a76a6d16d1799175ecd0c1912456";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "fedcd79564444ddaf2bd85b22c9961b3a3a38bf5";
+    tarball = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.0.tgz";
   }
   {
-    baseName = "event-stream";
-    version = "0.5.3";
-    fullName = "event-stream-~0.5";
-    hash = "988f4ee3e8f86d6f5f267b56de88bf733e05fe6f1adc0e135090c308822e9e86";
+    name = "esprima";
+    spec = "~ 1.0.2";
+    version = "1.0.3";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "7bdb544f95526d424808654d3b8fbe928650c0fe";
+    tarball = "http://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz";
+  }
+  {
+    name = "event-stream";
+    spec = "~0.5";
+    version = "0.5.3";
     topLevel = false;
     dependencies = [
-      { name = "optimist"; range = "0.2"; }
+      { name = "optimist"; spec = "0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
+    tarball = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
   }
   {
-    baseName = "eventemitter2";
+    name = "eventemitter2";
+    spec = "0.4.11";
     version = "0.4.11";
-    fullName = "eventemitter2-0.4.11";
-    hash = "2825d48a2313f703dfb6829e8a3bc89fe6442272b7dbec9d9c51e4794da81a83";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "8bbf2b6ac7b31e2eea0c8d8f533ef41f849a9e2c";
+    tarball = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz";
   }
   {
-    baseName = "eventemitter2";
+    name = "eventemitter2";
+    spec = "~0.4.11";
     version = "0.4.12";
-    fullName = "eventemitter2-~0.4.11";
-    hash = "466b3aa03fe384b46c8384ec7cc42248117a70e9b48c0e20706889b97edcdeac";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6cf14249fdc8799be7416e871e73fd2bb89e35e0";
+    tarball = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.12.tgz";
   }
   {
-    baseName = "events.node";
+    name = "events.node";
+    spec = ">= 0.4.0";
     version = "0.4.9";
-    fullName = "events.node->= 0.4.0";
-    hash = "aedaf9faa7a33f16e2bf1754ed988a836570d00064748a8c1c8ee48805b9f0b6";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "82998ea749501145fd2da7cf8ecbe6420fac02a4";
+    tarball = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
   }
   {
-    baseName = "express";
-    version = "3.3.1";
-    fullName = "express-*";
-    hash = "8ca5ce06324343402e5186263c2dca3a28f055093bc6e7bd7270ce4a7356ae8b";
-    patchLatest = false;
+    name = "express";
+    spec = "*";
+    version = "3.3.4";
     topLevel = true;
     dependencies = [
-      { name = "connect"; range = "2.8.1"; }
-      { name = "commander"; range = "0.6.1"; }
-      { name = "range-parser"; range = "0.0.4"; }
-      { name = "mkdirp"; range = "0.3.4"; }
-      { name = "cookie"; range = "0.1.0"; }
-      { name = "buffer-crc32"; range = "0.2.1"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "methods"; range = "0.0.1"; }
-      { name = "send"; range = "0.1.1"; }
-      { name = "cookie-signature"; range = "1.0.1"; }
-      { name = "debug"; range = "*"; }
+      { name = "connect"; spec = "2.8.4"; }
+      { name = "commander"; spec = "1.2.0"; }
+      { name = "range-parser"; spec = "0.0.4"; }
+      { name = "mkdirp"; spec = "0.3.5"; }
+      { name = "cookie"; spec = "0.1.0"; }
+      { name = "buffer-crc32"; spec = "0.2.1"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "methods"; spec = "0.0.1"; }
+      { name = "send"; spec = "0.1.3"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "debug"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "9abf22017213a8f6f54a421ce22b8ec27b7def62";
+    tarball = "http://registry.npmjs.org/express/-/express-3.3.4.tgz";
   }
   {
-    baseName = "express";
+    name = "express";
+    spec = "3.2.0";
+    version = "3.2.0";
+    topLevel = false;
+    dependencies = [
+      { name = "connect"; spec = "2.7.6"; }
+      { name = "commander"; spec = "0.6.1"; }
+      { name = "range-parser"; spec = "0.0.4"; }
+      { name = "mkdirp"; spec = "~0.3.4"; }
+      { name = "cookie"; spec = "0.0.5"; }
+      { name = "buffer-crc32"; spec = "~0.2.1"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "methods"; spec = "0.0.1"; }
+      { name = "send"; spec = "0.1.0"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "debug"; spec = "*"; }
+    ];
+    patchLatest = false;
+    sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
+    tarball = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
+  }
+  {
+    name = "express";
+    spec = "~3.1.1";
     version = "3.1.2";
-    fullName = "express-~3.1.1";
-    hash = "d72eb1b799ddfe78afc369168881bfef866213baf5cd47a56902fd732dbbd2b6";
+    topLevel = false;
+    dependencies = [
+      { name = "connect"; spec = "2.7.5"; }
+      { name = "commander"; spec = "0.6.1"; }
+      { name = "range-parser"; spec = "0.0.4"; }
+      { name = "mkdirp"; spec = "~0.3.4"; }
+      { name = "cookie"; spec = "0.0.5"; }
+      { name = "buffer-crc32"; spec = "~0.2.1"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "methods"; spec = "0.0.1"; }
+      { name = "send"; spec = "0.1.0"; }
+      { name = "cookie-signature"; spec = "1.0.0"; }
+      { name = "debug"; spec = "*"; }
+    ];
     patchLatest = false;
+    sha1 = "52a02c8db8f22bbfa0d7478d847cd45161f985f7";
+    tarball = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
+  }
+  {
+    name = "express-partials";
+    spec = "0.0.6";
+    version = "0.0.6";
     topLevel = false;
     dependencies = [
-      { name = "connect"; range = "2.7.5"; }
-      { name = "commander"; range = "0.6.1"; }
-      { name = "range-parser"; range = "0.0.4"; }
-      { name = "mkdirp"; range = "~0.3.4"; }
-      { name = "cookie"; range = "0.0.5"; }
-      { name = "buffer-crc32"; range = "~0.2.1"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "methods"; range = "0.0.1"; }
-      { name = "send"; range = "0.1.0"; }
-      { name = "cookie-signature"; range = "1.0.0"; }
-      { name = "debug"; range = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "b2664f15c636d5248e60fdbe29131c4440552eda";
+    tarball = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
   }
   {
-    baseName = "extend";
+    name = "extend";
+    spec = "*";
     version = "1.1.3";
-    fullName = "extend-*";
-    hash = "0b27709829110f2e84926ebe3494b82df6e79ad49a618ad3444e4edf62b57a57";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "5ae3d12e33009879dfb574e911a2da1e3da29ef4";
+    tarball = "http://registry.npmjs.org/extend/-/extend-1.1.3.tgz";
   }
   {
-    baseName = "extsprintf";
+    name = "extsprintf";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "extsprintf-1.0.0";
-    hash = "9cae7f1f192e5f35746e13047ab4c13e8b5b686469feeaec301ba7d370df5670";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4d58b815ace5bebfc4ebf03cf98b0a7604a99b86";
+    tarball = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
   }
   {
-    baseName = "extsprintf";
+    name = "extsprintf";
+    spec = "1.0.2";
     version = "1.0.2";
-    fullName = "extsprintf-1.0.2";
-    hash = "ea000cf3e51cba7fac7fb1e425ddb79bf46f3ce40955955bf35fd487184a04ab";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+    tarball = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
   }
   {
-    baseName = "eyes";
+    name = "eyes";
+    spec = "0.1.x";
     version = "0.1.8";
-    fullName = "eyes-0.1.x";
-    hash = "4fa6db8f2c9926fb39a211c622d7eb3a76efbc4878559f9bd155d647a6963735";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+    tarball = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
   }
   {
-    baseName = "faye-websocket";
-    version = "0.6.0";
-    fullName = "faye-websocket-*";
-    hash = "192f09ecd1c52fc357d2ad3ae3121be35556b7b09e30ce74117d80b9dbae3f60";
+    name = "eyes";
+    spec = ">=0.1.6";
+    version = "0.1.8";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+    tarball = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+  }
+  {
+    name = "faye-websocket";
+    spec = "*";
+    version = "0.6.1";
     topLevel = true;
     dependencies = [
-      { name = "websocket-driver"; range = ">=0.2.0"; }
+      { name = "websocket-driver"; spec = ">=0.2.0"; }
     ];
+    patchLatest = false;
+    sha1 = "43a54b2ab807761d7ec335d12f48eb69ec4ab61c";
+    tarball = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.6.1.tgz";
   }
   {
-    baseName = "faye-websocket";
+    name = "faye-websocket";
+    spec = "0.4.4";
     version = "0.4.4";
-    fullName = "faye-websocket-0.4.4";
-    hash = "c682f6269bcaba0667ef4ae0ecb0b662e35ea6338b075e25ebce9e13019bc3a2";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc";
+    tarball = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz";
   }
   {
-    baseName = "flatiron";
-    version = "0.3.5";
-    fullName = "flatiron-0.3.5";
-    hash = "8f1e074d3f678fe3d4720e27b260f95ee9d69deb2ab3059c6b9854531d8b247f";
+    name = "flatiron";
+    spec = "*";
+    version = "0.3.8";
+    topLevel = true;
+    dependencies = [
+      { name = "broadway"; spec = "0.2.7"; }
+      { name = "optimist"; spec = "0.3.5"; }
+      { name = "prompt"; spec = "0.2.11"; }
+      { name = "director"; spec = "1.1.10"; }
+      { name = "pkginfo"; spec = "0.3.0"; }
+    ];
     patchLatest = false;
+    sha1 = "235d691f19154eff033610c12bcd51f304ff09c6";
+    tarball = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.8.tgz";
+  }
+  {
+    name = "flatiron";
+    spec = "0.3.5";
+    version = "0.3.5";
     topLevel = false;
     dependencies = [
-      { name = "broadway"; range = "0.2.7"; }
-      { name = "optimist"; range = "0.3.5"; }
-      { name = "prompt"; range = "0.2.9"; }
-      { name = "director"; range = "1.1.10"; }
-      { name = "pkginfo"; range = "0.3.0"; }
+      { name = "broadway"; spec = "0.2.7"; }
+      { name = "optimist"; spec = "0.3.5"; }
+      { name = "prompt"; spec = "0.2.9"; }
+      { name = "director"; spec = "1.1.10"; }
+      { name = "pkginfo"; spec = "0.3.0"; }
     ];
+    patchLatest = false;
+    sha1 = "a91fe730f6a7fc1ea655a0ca48eaa977bef64625";
+    tarball = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.5.tgz";
   }
   {
-    baseName = "forEachAsync";
+    name = "forEachAsync";
+    spec = "~2.2";
     version = "2.2.0";
-    fullName = "forEachAsync-~2.2";
-    hash = "43367e7aad92f59595f22ad3e586ba2b370fd03b7f55da381503494528693e05";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "sequence"; range = ">= 2.2.1"; }
+      { name = "sequence"; spec = ">= 2.2.1"; }
     ];
+    patchLatest = false;
+    sha1 = "093b32ce868cb69f5166dcf331fae074adc71cee";
+    tarball = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.0.tgz";
   }
   {
-    baseName = "forever";
+    name = "forever";
+    spec = "*";
     version = "0.10.8";
-    fullName = "forever-*";
-    hash = "858a7405a72d55fea21a3f3396d34ad0cfb35f15dd6ded76e2856b828ff20cae";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "colors"; range = "0.6.0-1"; }
-      { name = "cliff"; range = "0.1.8"; }
-      { name = "flatiron"; range = "0.3.5"; }
-      { name = "forever-monitor"; range = "1.2.2"; }
-      { name = "nconf"; range = "0.6.7"; }
-      { name = "nssocket"; range = "~0.5.1"; }
-      { name = "optimist"; range = "0.4.0"; }
-      { name = "pkginfo"; range = "0.3.0"; }
-      { name = "timespan"; range = "2.0.1"; }
-      { name = "watch"; range = "0.7.0"; }
-      { name = "utile"; range = "0.1.7"; }
-      { name = "winston"; range = "0.7.1"; }
+      { name = "colors"; spec = "0.6.0-1"; }
+      { name = "cliff"; spec = "0.1.8"; }
+      { name = "flatiron"; spec = "0.3.5"; }
+      { name = "forever-monitor"; spec = "1.2.2"; }
+      { name = "nconf"; spec = "0.6.7"; }
+      { name = "nssocket"; spec = "~0.5.1"; }
+      { name = "optimist"; spec = "0.4.0"; }
+      { name = "pkginfo"; spec = "0.3.0"; }
+      { name = "timespan"; spec = "2.0.1"; }
+      { name = "watch"; spec = "0.7.0"; }
+      { name = "utile"; spec = "0.1.7"; }
+      { name = "winston"; spec = "0.7.1"; }
     ];
+    patchLatest = false;
+    sha1 = "a78137a46fb8ca4adbf2f497d98816a526bb1f82";
+    tarball = "http://registry.npmjs.org/forever/-/forever-0.10.8.tgz";
   }
   {
-    baseName = "forever-agent";
+    name = "forever-agent";
+    spec = "~0.2.0";
     version = "0.2.0";
-    fullName = "forever-agent-~0.2.0";
-    hash = "d6fac115c60bb3aa6b5b653ea6612e9c1c1d172e08c98251fcfd2d066c1fcda3";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
+    tarball = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
   }
   {
-    baseName = "forever-agent";
+    name = "forever-agent";
+    spec = "~0.5.0";
     version = "0.5.0";
-    fullName = "forever-agent-~0.5.0";
-    hash = "0a7eda1f87f3cfa7fad8ba655a642992033b38a1929becfa0bfcab8241b7d78b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0c1647a74f3af12d76a07a99490ade7c7249c8f0";
+    tarball = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.0.tgz";
   }
   {
-    baseName = "forever-monitor";
+    name = "forever-monitor";
+    spec = "1.2.2";
     version = "1.2.2";
-    fullName = "forever-monitor-1.2.2";
-    hash = "ff2f10f179ec6003278a250f76dd53ebaaace37c3c2409478b7b36ecee650a0c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "broadway"; range = "0.2.x"; }
-      { name = "minimatch"; range = "0.0.x"; }
-      { name = "pkginfo"; range = "0.x.x"; }
-      { name = "ps-tree"; range = "0.0.x"; }
-      { name = "watch"; range = "0.5.x"; }
-      { name = "utile"; range = "0.1.x"; }
+      { name = "broadway"; spec = "0.2.x"; }
+      { name = "minimatch"; spec = "0.0.x"; }
+      { name = "pkginfo"; spec = "0.x.x"; }
+      { name = "ps-tree"; spec = "0.0.x"; }
+      { name = "watch"; spec = "0.5.x"; }
+      { name = "utile"; spec = "0.1.x"; }
     ];
+    patchLatest = false;
+    sha1 = "c1ad6c6ab837a89fa2d47bb439727ca968235684";
+    tarball = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.2.tgz";
   }
   {
-    baseName = "form-data";
+    name = "form-data";
+    spec = "0.0.8";
     version = "0.0.8";
-    fullName = "form-data-0.0.8";
-    hash = "cf7d5669259ec4c5474b9c2100127ba065a4757ff33b878a1d99509b8e448220";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "combined-stream"; range = "~0.0.4"; }
-      { name = "mime"; range = "~1.2.2"; }
-      { name = "async"; range = "~0.2.7"; }
+      { name = "combined-stream"; spec = "~0.0.4"; }
+      { name = "mime"; spec = "~1.2.2"; }
+      { name = "async"; spec = "~0.2.7"; }
     ];
+    patchLatest = false;
+    sha1 = "0890cd1005c5ccecc0b9d24a88052c92442d0db5";
+    tarball = "http://registry.npmjs.org/form-data/-/form-data-0.0.8.tgz";
   }
   {
-    baseName = "form-data";
+    name = "form-data";
+    spec = "~0.0.3";
     version = "0.0.10";
-    fullName = "form-data-~0.0.3";
-    hash = "d49669b81c27dd6c7e359ee9892880c6741dae6c325b617ab3eb5a78bf103822";
+    topLevel = false;
+    dependencies = [
+      { name = "combined-stream"; spec = "~0.0.4"; }
+      { name = "mime"; spec = "~1.2.2"; }
+      { name = "async"; spec = "~0.2.7"; }
+    ];
     patchLatest = false;
+    sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
+    tarball = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
+  }
+  {
+    name = "form-data";
+    spec = "~0.1.0";
+    version = "0.1.0";
     topLevel = false;
     dependencies = [
-      { name = "combined-stream"; range = "~0.0.4"; }
-      { name = "mime"; range = "~1.2.2"; }
-      { name = "async"; range = "~0.2.7"; }
+      { name = "combined-stream"; spec = "~0.0.4"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "async"; spec = "~0.2.9"; }
     ];
+    patchLatest = false;
+    sha1 = "d36b59baf9b292bb2e5034d7a6079b2bd1e9df83";
+    tarball = "http://registry.npmjs.org/form-data/-/form-data-0.1.0.tgz";
   }
   {
-    baseName = "formidable";
+    name = "formidable";
+    spec = "1.0.11";
     version = "1.0.11";
-    fullName = "formidable-1.0.11";
-    hash = "39b345d14d69c27fe262e12f16900cef6be220510788866e0a12c9fedd03766e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
+    tarball = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
   }
   {
-    baseName = "formidable";
+    name = "formidable";
+    spec = "1.0.13";
     version = "1.0.13";
-    fullName = "formidable-1.0.13";
-    hash = "c3c7c6ecdd4b1ad9ec9b1c273d8dd1db2bc12f9a699c233d3885fcded58ceec6";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "70caf0f9d69692a77e04021ddab4f46b01c82aea";
+    tarball = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz";
   }
   {
-    baseName = "formidable";
+    name = "formidable";
+    spec = "1.0.14";
     version = "1.0.14";
-    fullName = "formidable-1.0.14";
-    hash = "b36e58f659fd0d7c734b4ab2c611fa6e40bd988c2237a29d25025460f18f7ea1";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
+    tarball = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
   }
   {
-    baseName = "formidable";
+    name = "formidable";
+    spec = "1.0.9";
     version = "1.0.9";
-    fullName = "formidable-1.0.9";
-    hash = "3b54deef3897d910d1e6dedd81fa2f4a65b7e93b5dd5cf1c8c098b63260c214c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "419e3bccead3e8874d539f5b3e72a4c503b31a98";
+    tarball = "http://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz";
   }
   {
-    baseName = "fresh";
+    name = "fresh";
+    spec = "0.1.0";
     version = "0.1.0";
-    fullName = "fresh-0.1.0";
-    hash = "c402fbd25e26c0167bf288e1ba791716808bfaa5de32b76ae68e8e8a3d7e2b33";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+    tarball = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
   }
   {
-    baseName = "fstream";
-    version = "0.1.22";
-    fullName = "fstream-0";
-    hash = "2ace3993d34cbf5e97bcb9c7eec3f011fa2041ce66cb688e39e747285084496a";
+    name = "fstream";
+    spec = "0";
+    version = "0.1.24";
+    topLevel = false;
+    dependencies = [
+      { name = "rimraf"; spec = "2"; }
+      { name = "mkdirp"; spec = "0.3"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+    tarball = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
+  }
+  {
+    name = "fstream";
+    spec = "~0.1.17";
+    version = "0.1.24";
     topLevel = false;
     dependencies = [
-      { name = "rimraf"; range = "2"; }
-      { name = "mkdirp"; range = "0.3"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "~1.0.0"; }
+      { name = "rimraf"; spec = "2"; }
+      { name = "mkdirp"; spec = "0.3"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+    tarball = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
   }
   {
-    baseName = "fstream";
-    version = "0.1.22";
-    fullName = "fstream-~0.1.8";
-    hash = "2ace3993d34cbf5e97bcb9c7eec3f011fa2041ce66cb688e39e747285084496a";
+    name = "fstream";
+    spec = "~0.1.23";
+    version = "0.1.24";
+    topLevel = false;
+    dependencies = [
+      { name = "rimraf"; spec = "2"; }
+      { name = "mkdirp"; spec = "0.3"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+    tarball = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
+  }
+  {
+    name = "fstream";
+    spec = "~0.1.8";
+    version = "0.1.24";
     topLevel = false;
     dependencies = [
-      { name = "rimraf"; range = "2"; }
-      { name = "mkdirp"; range = "0.3"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "~1.0.0"; }
+      { name = "rimraf"; spec = "2"; }
+      { name = "mkdirp"; spec = "0.3"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+    tarball = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
   }
   {
-    baseName = "glob";
-    version = "3.2.1";
-    fullName = "glob-3";
-    hash = "a457c2115213ce2cb59582ddc3a25eb3ae7490af687e412111c0032f72966f51";
+    name = "fstream-ignore";
+    spec = "~0.0.5";
+    version = "0.0.7";
+    topLevel = false;
+    dependencies = [
+      { name = "minimatch"; spec = "~0.2.0"; }
+      { name = "fstream"; spec = "~0.1.17"; }
+      { name = "inherits"; spec = "2"; }
+    ];
     patchLatest = false;
+    sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
+    tarball = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
+  }
+  {
+    name = "fstream-npm";
+    spec = "~0.1.3";
+    version = "0.1.5";
     topLevel = false;
     dependencies = [
-      { name = "minimatch"; range = "~0.2.11"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "1"; }
+      { name = "fstream-ignore"; spec = "~0.0.5"; }
+      { name = "inherits"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "8f9fdd38c0940f91f7b6ebda4b6611be88f97ec9";
+    tarball = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.5.tgz";
   }
   {
-    baseName = "glob";
-    version = "3.2.1";
-    fullName = "glob-3.2.1";
-    hash = "a457c2115213ce2cb59582ddc3a25eb3ae7490af687e412111c0032f72966f51";
+    name = "github-url-from-git";
+    spec = "~1.1.1";
+    version = "1.1.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
+    tarball = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
+  }
+  {
+    name = "glob";
+    spec = "3";
+    version = "3.2.6";
     topLevel = false;
     dependencies = [
-      { name = "minimatch"; range = "~0.2.11"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "1"; }
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "inherits"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
   }
   {
-    baseName = "glob";
+    name = "glob";
+    spec = "3.2.1";
     version = "3.2.1";
-    fullName = "glob->= 3.1.4";
-    hash = "a457c2115213ce2cb59582ddc3a25eb3ae7490af687e412111c0032f72966f51";
+    topLevel = false;
+    dependencies = [
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "graceful-fs"; spec = "~1.2.0"; }
+      { name = "inherits"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "57af70ec73ba2323bfe3f29a067765db64c5d758";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.1.tgz";
+  }
+  {
+    name = "glob";
+    spec = ">= 3.1.4";
+    version = "3.2.6";
     topLevel = false;
     dependencies = [
-      { name = "minimatch"; range = "~0.2.11"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "1"; }
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "inherits"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
   }
   {
-    baseName = "graceful-fs";
-    version = "1.2.2";
-    fullName = "graceful-fs-1";
-    hash = "a23fe552c6b0a221fc961e1ef0ed567e081ad948f4fcac6be660fa6741c0dbd6";
+    name = "glob";
+    spec = "~3.2.1";
+    version = "3.2.6";
+    topLevel = false;
+    dependencies = [
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "inherits"; spec = "2"; }
+    ];
     patchLatest = false;
+    sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
+  }
+  {
+    name = "glob";
+    spec = "~3.2.3";
+    version = "3.2.6";
     topLevel = false;
     dependencies = [
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "inherits"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
   }
   {
-    baseName = "graceful-fs";
-    version = "1.2.2";
-    fullName = "graceful-fs-~1";
-    hash = "a23fe552c6b0a221fc961e1ef0ed567e081ad948f4fcac6be660fa6741c0dbd6";
+    name = "graceful-fs";
+    spec = "2";
+    version = "2.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "c9a206f6f5f4b94e1046dfaaccfe9e12d0ab8cef";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.0.tgz";
+  }
+  {
+    name = "graceful-fs";
+    spec = "~1";
+    version = "1.2.3";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
   }
   {
-    baseName = "graceful-fs";
-    version = "1.2.2";
-    fullName = "graceful-fs-~1.2.0";
-    hash = "a23fe552c6b0a221fc961e1ef0ed567e081ad948f4fcac6be660fa6741c0dbd6";
+    name = "graceful-fs";
+    spec = "~1.2.0";
+    version = "1.2.3";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+  }
+  {
+    name = "graceful-fs";
+    spec = "~2";
+    version = "2.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "c9a206f6f5f4b94e1046dfaaccfe9e12d0ab8cef";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.0.tgz";
+  }
+  {
+    name = "graceful-fs";
+    spec = "~2.0.0";
+    version = "2.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c9a206f6f5f4b94e1046dfaaccfe9e12d0ab8cef";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.0.tgz";
   }
   {
-    baseName = "growl";
-    version = "1.7.0";
-    fullName = "growl-1.7.x";
-    hash = "52a6e9edae2fd5a66ddb87c52a398a17ee697eb0e8e1480e9506a6dcdbf3ffcf";
+    name = "gridfs-stream";
+    spec = "*";
+    version = "0.4.0";
+    topLevel = true;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f76f791e0d1b22649e11beeacddf8e62bd89ca2a";
+    tarball = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.4.0.tgz";
+  }
+  {
+    name = "growl";
+    spec = "1.7.x";
+    version = "1.7.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de2d66136d002e112ba70f3f10c31cf7c350b2da";
+    tarball = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz";
   }
   {
-    baseName = "gzippo";
-    version = "0.2.0";
-    fullName = "gzippo-*";
-    hash = "844f214312ef8ec2dee4543e6da383728ae081e96961f5ccb6786f0eed8474ab";
+    name = "guifi-earth";
+    spec = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 ";
+    version = "0.2.1";
+    topLevel = true;
+    dependencies = [
+      { name = "coffee-script"; spec = ">= 0.0.1"; }
+      { name = "jade"; spec = ">= 0.0.1"; }
+      { name = "q"; spec = ">= 0.0.1"; }
+      { name = "xml2js"; spec = ">= 0.0.1"; }
+      { name = "msgpack"; spec = ">= 0.0.1"; }
+    ];
     patchLatest = false;
+    sha256 = "a51a5beef55c14c68630275d51cf66c44a4462d1b20c0f08aef6d88a62ca077c";
+    tarball = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
+  }
+  {
+    name = "gzippo";
+    spec = "*";
+    version = "0.2.0";
     topLevel = true;
     dependencies = [
-      { name = "send"; range = "*"; }
+      { name = "send"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "ffc594c482190c56531ed2d4a5864d0b0b7d2733";
+    tarball = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
   }
   {
-    baseName = "hat";
+    name = "hat";
+    spec = "*";
     version = "0.0.3";
-    fullName = "hat-*";
-    hash = "7bf52b3b020ca333a42eb67411090912b21abb6ac746d587022a0955b16e5f5c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "bb014a9e64b3788aed8005917413d4ff3d502d8a";
+    tarball = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
   }
   {
-    baseName = "hawk";
+    name = "hawk";
+    spec = "~0.10.2";
     version = "0.10.2";
-    fullName = "hawk-~0.10.2";
-    hash = "a55c7f967a8e01b6307185abc796320b54a9d6126952e41281dca3c1841affb8";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.7.x"; }
-      { name = "boom"; range = "0.3.x"; }
-      { name = "cryptiles"; range = "0.1.x"; }
-      { name = "sntp"; range = "0.1.x"; }
+      { name = "hoek"; spec = "0.7.x"; }
+      { name = "boom"; spec = "0.3.x"; }
+      { name = "cryptiles"; spec = "0.1.x"; }
+      { name = "sntp"; spec = "0.1.x"; }
     ];
+    patchLatest = false;
+    sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+    tarball = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
   }
   {
-    baseName = "hawk";
+    name = "hawk";
+    spec = "~0.13.0";
     version = "0.13.1";
-    fullName = "hawk-~0.13.0";
-    hash = "659e5ada1e9dc44a634e07899937d5eaeaa1c06658f181ca187f7f6faa0c592a";
+    topLevel = false;
+    dependencies = [
+      { name = "hoek"; spec = "0.8.x"; }
+      { name = "boom"; spec = "0.4.x"; }
+      { name = "cryptiles"; spec = "0.2.x"; }
+      { name = "sntp"; spec = "0.2.x"; }
+    ];
     patchLatest = false;
+    sha1 = "3617958821f58311e4d7f6de291fca662b412ef4";
+    tarball = "http://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz";
+  }
+  {
+    name = "hawk";
+    spec = "~1.0.0";
+    version = "1.0.0";
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.8.x"; }
-      { name = "boom"; range = "0.4.x"; }
-      { name = "cryptiles"; range = "0.2.x"; }
-      { name = "sntp"; range = "0.2.x"; }
+      { name = "hoek"; spec = "0.9.x"; }
+      { name = "boom"; spec = "0.4.x"; }
+      { name = "cryptiles"; spec = "0.2.x"; }
+      { name = "sntp"; spec = "0.2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+    tarball = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
   }
   {
-    baseName = "hiredis";
+    name = "hiredis";
+    spec = "*";
     version = "0.1.15";
-    fullName = "hiredis-*";
-    hash = "621bb738d1ef8335fe2f373d5446a4817a62bf8ab6e956fb6a7aa4932f8ccb08";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "bindings"; range = "*"; }
+      { name = "bindings"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "00eb2205c85dcf50de838203e513896dc304dd49";
+    tarball = "http://registry.npmjs.org/hiredis/-/hiredis-0.1.15.tgz";
   }
   {
-    baseName = "hoek";
+    name = "hoek";
+    spec = "0.7.x";
     version = "0.7.6";
-    fullName = "hoek-0.7.x";
-    hash = "135068c73cf7f0db625d95461991db113b9b4a09c6d118a80f4b33d1cad41d9b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
+    tarball = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
   }
   {
-    baseName = "hoek";
+    name = "hoek";
+    spec = "0.8.x";
     version = "0.8.5";
-    fullName = "hoek-0.8.x";
-    hash = "637e524cd4b48b66db137d6fa93cbe254f112ce638ea9fd399bab73591ede965";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1e9fd770ef7ebe0274adfcb5b0806a025a5e4e9f";
+    tarball = "http://registry.npmjs.org/hoek/-/hoek-0.8.5.tgz";
   }
   {
-    baseName = "hoek";
+    name = "hoek";
+    spec = "0.9.x";
     version = "0.9.1";
-    fullName = "hoek-0.9.x";
-    hash = "34480468d2e85781ecdd7134523b4d6fea978d333edd2bcb828edd33bbbe8a3f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+    tarball = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
   }
   {
-    baseName = "hooks";
+    name = "hooks";
+    spec = "0.2.1";
     version = "0.2.1";
-    fullName = "hooks-0.2.1";
-    hash = "65b9c6940a0edc5324e9c7f2422cdf2700436a1d2e9008e2a9f5dcc732cd46bd";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0f591b1b344bdcb3df59773f62fbbaf85bf4028b";
+    tarball = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
   }
   {
-    baseName = "htdigest";
+    name = "htdigest";
+    spec = "1.0.7";
     version = "1.0.7";
-    fullName = "htdigest-1.0.7";
-    hash = "10fb047addf1c4f1089a26389066d5ff8f5ffa1ccce272a701bb4c2a30d90c58";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "commander"; range = "0.5.1"; }
+      { name = "commander"; spec = "0.5.1"; }
     ];
+    patchLatest = false;
+    sha1 = "0c55ba3a018855e134fd82f7a4aa6235167181b2";
+    tarball = "http://registry.npmjs.org/htdigest/-/htdigest-1.0.7.tgz";
   }
   {
-    baseName = "htpasswd";
+    name = "htpasswd";
+    spec = "1.1.0";
     version = "1.1.0";
-    fullName = "htpasswd-1.1.0";
-    hash = "cee9c0a525e717e3565ba6ffea8a64c480bc8a9e7800cb9bfc385d1a8e713ec9";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "commander"; range = "0.5.1"; }
+      { name = "commander"; spec = "0.5.1"; }
     ];
+    patchLatest = false;
+    sha1 = "4e9e6a2203405005aa1ae7dee80d3b6d6a8d93d6";
+    tarball = "http://registry.npmjs.org/htpasswd/-/htpasswd-1.1.0.tgz";
   }
   {
-    baseName = "http-auth";
+    name = "http-auth";
+    spec = "1.2.7";
     version = "1.2.7";
-    fullName = "http-auth-1.2.7";
-    hash = "874dbb5907d03602f31eae959a0927a3112da8e868231d9a2119bb50d2fe63d2";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "node-uuid"; range = "1.2.0"; }
-      { name = "htpasswd"; range = "1.1.0"; }
-      { name = "htdigest"; range = "1.0.7"; }
+      { name = "node-uuid"; spec = "1.2.0"; }
+      { name = "htpasswd"; spec = "1.1.0"; }
+      { name = "htdigest"; spec = "1.0.7"; }
     ];
+    patchLatest = false;
+    sha1 = "d15b9c08646c9fdcc4f92edb9888f57cb6cf9ca7";
+    tarball = "http://registry.npmjs.org/http-auth/-/http-auth-1.2.7.tgz";
   }
   {
-    baseName = "http-signature";
+    name = "http-signature";
+    spec = "0.9.11";
     version = "0.9.11";
-    fullName = "http-signature-0.9.11";
-    hash = "44b89f3c1917bf02723a5720f08fbe47448e0370a5d3498d1be860eaf28beb3b";
+    topLevel = false;
+    dependencies = [
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "asn1"; spec = "0.1.11"; }
+      { name = "ctype"; spec = "0.5.2"; }
+    ];
     patchLatest = false;
+    sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+    tarball = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
+  }
+  {
+    name = "http-signature";
+    spec = "~0.10.0";
+    version = "0.10.0";
     topLevel = false;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "asn1"; range = "0.1.11"; }
-      { name = "ctype"; range = "0.5.2"; }
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "asn1"; spec = "0.1.11"; }
+      { name = "ctype"; spec = "0.5.2"; }
     ];
+    patchLatest = false;
+    sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+    tarball = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
   }
   {
-    baseName = "http-signature";
+    name = "http-signature";
+    spec = "~0.9.11";
     version = "0.9.11";
-    fullName = "http-signature-~0.9.11";
-    hash = "44b89f3c1917bf02723a5720f08fbe47448e0370a5d3498d1be860eaf28beb3b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "asn1"; range = "0.1.11"; }
-      { name = "ctype"; range = "0.5.2"; }
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "asn1"; spec = "0.1.11"; }
+      { name = "ctype"; spec = "0.5.2"; }
     ];
+    patchLatest = false;
+    sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+    tarball = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
   }
   {
-    baseName = "i";
+    name = "i";
+    spec = "0.3.x";
     version = "0.3.1";
-    fullName = "i-0.3.x";
-    hash = "9dbd68b705366f5bdda60b9cf80149c89255d444649e21cc12556b14fb7ee784";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "6ecf7847caed3168b17b86ccc390d7b805be0ee4";
+    tarball = "http://registry.npmjs.org/i/-/i-0.3.1.tgz";
+  }
+  {
+    name = "i18next";
+    spec = "*";
+    version = "1.6.8";
+    topLevel = true;
+    dependencies = [
+      { name = "cookies"; spec = ">= 0.2.2"; }
+    ];
+    patchLatest = false;
+    sha1 = "9c5806d50d374d09ad76e13da4c6d7357e8c555b";
+    tarball = "http://registry.npmjs.org/i18next/-/i18next-1.6.8.tgz";
+  }
+  {
+    name = "iconv-lite";
+    spec = "0.2.7";
+    version = "0.2.7";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "45be2390d27af4b7613aac4ee4d957e3f4cbdb54";
+    tarball = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.7.tgz";
+  }
+  {
+    name = "inherits";
+    spec = "*";
+    version = "2.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "76c81b3b1c10ddee3a60bf2c247162bc369f8ba8";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-2.0.0.tgz";
   }
   {
-    baseName = "inherits";
+    name = "inherits";
+    spec = "1";
     version = "1.0.0";
-    fullName = "inherits-1";
-    hash = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
   }
   {
-    baseName = "inherits";
+    name = "inherits";
+    spec = "1.x";
     version = "1.0.0";
-    fullName = "inherits-1.x";
-    hash = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
+  }
+  {
+    name = "inherits";
+    spec = "2";
+    version = "2.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "76c81b3b1c10ddee3a60bf2c247162bc369f8ba8";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-2.0.0.tgz";
   }
   {
-    baseName = "inherits";
+    name = "inherits";
+    spec = "~1.0.0";
     version = "1.0.0";
-    fullName = "inherits-~1.0.0";
-    hash = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
+  }
+  {
+    name = "inherits";
+    spec = "~2.0.0";
+    version = "2.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "76c81b3b1c10ddee3a60bf2c247162bc369f8ba8";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-2.0.0.tgz";
   }
   {
-    baseName = "ini";
+    name = "ini";
+    spec = "1";
     version = "1.1.0";
-    fullName = "ini-1.x.x";
-    hash = "307ecc5f8664773587a0d74165d1dbdb226754b638542596b7a1e2ed0a578a28";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+    tarball = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
+  }
+  {
+    name = "ini";
+    spec = "1.x.x";
+    version = "1.1.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+    tarball = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
   }
   {
-    baseName = "is-promise";
-    version = "1.0.0";
-    fullName = "is-promise-~1";
-    hash = "65806ec461b83060a8857d2571c84bd66451db0683969ed3f9180f8a2c1a915f";
+    name = "ini";
+    spec = "~1.1.0";
+    version = "1.1.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+    tarball = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
+  }
+  {
+    name = "init-package-json";
+    spec = "0.0.10";
+    version = "0.0.10";
     topLevel = false;
     dependencies = [
+      { name = "promzard"; spec = "~0.2.0"; }
+      { name = "read"; spec = "~1.0.1"; }
+      { name = "read-package-json"; spec = "1"; }
+      { name = "semver"; spec = "2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "7baf10535227e0878105a04e44b78f132475da6a";
+    tarball = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.10.tgz";
   }
   {
-    baseName = "jade";
-    version = "0.32.0";
-    fullName = "jade-*";
-    hash = "25bd8ad332bdf7dba4bcd2bf38b6f5ff49e1a9401668a4c4edf50e1277031e2d";
+    name = "ironhorse";
+    spec = "*";
+    version = "0.0.2";
+    topLevel = true;
+    dependencies = [
+      { name = "winston"; spec = "*"; }
+    ];
     patchLatest = false;
+    sha1 = "9a8e27407ecfba7cd4d1d5886c7d97e65d44da9c";
+    tarball = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.2.tgz";
+  }
+  {
+    name = "is-promise";
+    spec = "~1";
+    version = "1.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "b998d17551f16f69f7bd4828f58f018cc81e064f";
+    tarball = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.0.tgz";
+  }
+  {
+    name = "jade";
+    spec = "*";
+    version = "0.33.0";
     topLevel = true;
     dependencies = [
-      { name = "commander"; range = "1.2.0"; }
-      { name = "mkdirp"; range = "0.3.x"; }
-      { name = "transformers"; range = "2.0.1"; }
-      { name = "character-parser"; range = "1.0.2"; }
-      { name = "monocle"; range = "0.1.48"; }
-      { name = "with"; range = "~1.1.0"; }
-      { name = "constantinople"; range = "~1.0.1"; }
+      { name = "commander"; spec = "1.2.0"; }
+      { name = "mkdirp"; spec = "0.3.x"; }
+      { name = "transformers"; spec = "2.0.1"; }
+      { name = "character-parser"; spec = "1.0.2"; }
+      { name = "monocle"; spec = "0.1.48"; }
+      { name = "with"; spec = "~1.1.0"; }
+      { name = "constantinople"; spec = "~1.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "1b0bb45f9dd4ce57723605177713d80bccd4e429";
+    tarball = "http://registry.npmjs.org/jade/-/jade-0.33.0.tgz";
   }
   {
-    baseName = "jade";
+    name = "jade";
+    spec = "0.26.3";
     version = "0.26.3";
-    fullName = "jade-0.26.3";
-    hash = "ea314287eb192b6987f7bb9d7010bf2c35ff6288f125fa00796ad93bdba14d0b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "commander"; range = "0.6.1"; }
-      { name = "mkdirp"; range = "0.3.0"; }
+      { name = "commander"; spec = "0.6.1"; }
+      { name = "mkdirp"; spec = "0.3.0"; }
     ];
+    patchLatest = false;
+    sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
+    tarball = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
   }
   {
-    baseName = "jayschema";
-    version = "0.1.5";
-    fullName = "jayschema-*";
-    hash = "66e17d82f0b24d882321d42da2f094ab2b14df8a3f558b88867800e672f5c80d";
+    name = "jade";
+    spec = ">= 0.0.1";
+    version = "0.33.0";
+    topLevel = false;
+    dependencies = [
+      { name = "commander"; spec = "1.2.0"; }
+      { name = "mkdirp"; spec = "0.3.x"; }
+      { name = "transformers"; spec = "2.0.1"; }
+      { name = "character-parser"; spec = "1.0.2"; }
+      { name = "monocle"; spec = "0.1.48"; }
+      { name = "with"; spec = "~1.1.0"; }
+      { name = "constantinople"; spec = "~1.0.1"; }
+    ];
     patchLatest = false;
+    sha1 = "1b0bb45f9dd4ce57723605177713d80bccd4e429";
+    tarball = "http://registry.npmjs.org/jade/-/jade-0.33.0.tgz";
+  }
+  {
+    name = "jayschema";
+    spec = "*";
+    version = "0.2.0";
     topLevel = true;
     dependencies = [
+      { name = "when"; spec = "~2.2.1"; }
     ];
+    patchLatest = false;
+    sha1 = "ab250dd51224ef36ac8119ce143e0525300d99d4";
+    tarball = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.0.tgz";
   }
   {
-    baseName = "jshint";
-    version = "2.1.4";
-    fullName = "jshint-*";
-    hash = "ff5afb38e1e82801b670a18033dc29a903fe883ca6073459360178871f8d71db";
+    name = "js-yaml";
+    spec = "0.3.x";
+    version = "0.3.7";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "d739d8ee86461e54b354d6a7d7d1f2ad9a167f62";
+    tarball = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
+  }
+  {
+    name = "js-yaml";
+    spec = "2.1.0";
+    version = "2.1.0";
+    topLevel = false;
+    dependencies = [
+      { name = "argparse"; spec = "~ 0.1.11"; }
+      { name = "esprima"; spec = "~ 1.0.2"; }
+    ];
+    patchLatest = false;
+    sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
+    tarball = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
+  }
+  {
+    name = "jshint";
+    spec = "*";
+    version = "2.1.4";
     topLevel = true;
     dependencies = [
-      { name = "shelljs"; range = "0.1.x"; }
-      { name = "underscore"; range = "1.4.x"; }
-      { name = "cli"; range = "0.4.x"; }
-      { name = "minimatch"; range = "0.x.x"; }
-      { name = "console-browserify"; range = "0.1.x"; }
+      { name = "shelljs"; spec = "0.1.x"; }
+      { name = "underscore"; spec = "1.4.x"; }
+      { name = "cli"; spec = "0.4.x"; }
+      { name = "minimatch"; spec = "0.x.x"; }
+      { name = "console-browserify"; spec = "0.1.x"; }
     ];
+    patchLatest = false;
+    sha1 = "8d5be86628eea91c073c8700dd6e4c90afd9ab38";
+    tarball = "http://registry.npmjs.org/jshint/-/jshint-2.1.4.tgz";
   }
   {
-    baseName = "json-schema";
+    name = "json-schema";
+    spec = "0.2.2";
     version = "0.2.2";
-    fullName = "json-schema-0.2.2";
-    hash = "41b873a8fb542caf337ec17ad5593761e8db5ce8e33f4074b733b34ec656f0e8";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
+    tarball = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
   }
   {
-    baseName = "json-stringify-safe";
+    name = "json-stringify-safe";
+    spec = "~3.0.0";
     version = "3.0.0";
-    fullName = "json-stringify-safe-~3.0.0";
-    hash = "77580345a4d3d5db0e530757c86a6bd032b69b31f509f58a8d1232abc14690c0";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
+    tarball = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
   }
   {
-    baseName = "json-stringify-safe";
+    name = "json-stringify-safe";
+    spec = "~4.0.0";
     version = "4.0.0";
-    fullName = "json-stringify-safe-~4.0.0";
-    hash = "2461befc8dab37d1d83927ab4bf4aa68b162a35b5a85c1a90c70f86500091b60";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "77c271aaea54302e68efeaccb56abbf06a9b1a54";
+    tarball = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-4.0.0.tgz";
   }
   {
-    baseName = "jsontool";
-    version = "5.1.3";
-    fullName = "jsontool-*";
-    hash = "097889f294920e43c2a8f8d9156971860c67c61ecfe5a1e411c4d641e521985c";
+    name = "json-stringify-safe";
+    spec = "~5.0.0";
+    version = "5.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "156515f55e62ed4cd912ec13bfc79d5013dfd1e7";
+    tarball = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+  }
+  {
+    name = "jsontool";
+    spec = "*";
+    version = "6.0.0";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "dc2a535b2aa8a10b0b7359c76fa8920cdb92ce6d";
+    tarball = "http://registry.npmjs.org/jsontool/-/jsontool-6.0.0.tgz";
   }
   {
-    baseName = "jsprim";
+    name = "jsprim";
+    spec = "0.3.0";
     version = "0.3.0";
-    fullName = "jsprim-0.3.0";
-    hash = "0fd12872374ee55cc0c005a1590ef65def0e96de04734a753e0d1480c3ffc4bd";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "extsprintf"; range = "1.0.0"; }
-      { name = "json-schema"; range = "0.2.2"; }
-      { name = "verror"; range = "1.3.3"; }
+      { name = "extsprintf"; spec = "1.0.0"; }
+      { name = "json-schema"; spec = "0.2.2"; }
+      { name = "verror"; spec = "1.3.3"; }
     ];
+    patchLatest = false;
+    sha1 = "cd13466ea2480dbd8396a570d47d31dda476f8b1";
+    tarball = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
   }
   {
-    baseName = "keep-alive-agent";
+    name = "keep-alive-agent";
+    spec = "0.0.1";
     version = "0.0.1";
-    fullName = "keep-alive-agent-0.0.1";
-    hash = "481f10eeb5b9759ad28d9556f30c1747a5e71fbbad55fb130b96eacc7ac1c7a1";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "44847ca394ce8d6b521ae85816bd64509942b385";
+    tarball = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
   }
   {
-    baseName = "kerberos";
+    name = "kerberos";
+    spec = "0.0.3";
     version = "0.0.3";
-    fullName = "kerberos-*";
-    hash = "40300bf5e4ca224127b7e88586dce003c58e59cf4972f699fdc95079135a76fe";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3c44078eca649501babab04938c948b1252d1b";
+    tarball = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
   }
   {
-    baseName = "keypress";
+    name = "keypress";
+    spec = "0.1.x";
     version = "0.1.0";
-    fullName = "keypress-0.1.x";
-    hash = "2e43d67e9df19176f874e1a44693f2ea802df77e255d3fc272a0de8124f83be5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
+    tarball = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
   }
   {
-    baseName = "knox";
-    version = "0.8.3";
-    fullName = "knox-*";
-    hash = "fe3cb0d94b3e85413626ffee386c751931afe200b170bd555173e413d7044c75";
-    patchLatest = false;
+    name = "knox";
+    spec = "*";
+    version = "0.8.4";
     topLevel = true;
     dependencies = [
-      { name = "mime"; range = "*"; }
-      { name = "xml2js"; range = "0.2.x"; }
-      { name = "debug"; range = "~0.7.0"; }
-      { name = "stream-counter"; range = "~0.1.0"; }
+      { name = "mime"; spec = "*"; }
+      { name = "xml2js"; spec = "0.2.x"; }
+      { name = "debug"; spec = "~0.7.0"; }
+      { name = "stream-counter"; spec = "~0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "4e1e98e9942120c3e7fd36286ee4a249b00ac370";
+    tarball = "http://registry.npmjs.org/knox/-/knox-0.8.4.tgz";
   }
   {
-    baseName = "kue";
+    name = "kue";
+    spec = "*";
     version = "0.6.2";
-    fullName = "kue-*";
-    hash = "c52cb0ebc11226bff8d1fb8068cc4cc562c3970d1d24c201d8a8ed68847b9115";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "redis"; range = "0.7.2"; }
-      { name = "express"; range = "~3.1.1"; }
-      { name = "jade"; range = "0.26.3"; }
-      { name = "stylus"; range = "0.27.2"; }
-      { name = "nib"; range = "0.5.0"; }
-      { name = "reds"; range = "0.1.4"; }
+      { name = "redis"; spec = "0.7.2"; }
+      { name = "express"; spec = "~3.1.1"; }
+      { name = "jade"; spec = "0.26.3"; }
+      { name = "stylus"; spec = "0.27.2"; }
+      { name = "nib"; spec = "0.5.0"; }
+      { name = "reds"; spec = "0.1.4"; }
     ];
+    patchLatest = false;
+    sha1 = "9a6a95081842cf4ee3da5c61770bc23616a943f2";
+    tarball = "http://registry.npmjs.org/kue/-/kue-0.6.2.tgz";
   }
   {
-    baseName = "lazy";
+    name = "lazy";
+    spec = "~1.0.11";
     version = "1.0.11";
-    fullName = "lazy-~1.0.11";
-    hash = "05a9685292102599629d3212fbd04102ff71b0cf306cee9773ab1602c75a4ab0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "daa068206282542c088288e975c297c1ae77b690";
+    tarball = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
+  }
+  {
+    name = "libyaml";
+    spec = "*";
+    version = "0.2.2";
+    topLevel = true;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "a22d5f699911b6b622d6dc323fb62320c877c9c8";
+    tarball = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.2.tgz";
+  }
+  {
+    name = "lockfile";
+    spec = "~0.4.0";
+    version = "0.4.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0f815a7ee7c3d603ddec6fbfa8a212b5645d54c5";
+    tarball = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.0.tgz";
   }
   {
-    baseName = "lru-cache";
+    name = "lru-cache";
+    spec = "2";
     version = "2.3.0";
-    fullName = "lru-cache-2";
-    hash = "fbb1a14e0314095b7999a3a7489c92983f3d95b188857af697487ac8a778e942";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
   }
   {
-    baseName = "lru-cache";
+    name = "lru-cache";
+    spec = "2.2.0";
     version = "2.2.0";
-    fullName = "lru-cache-2.2.0";
-    hash = "bdfb66f74cc4097f3bfd6062b2edbb7790d709f414c7d0f3419241840b1bffed";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "ec2bba603f4c5bb3e7a1bf62ce1c1dbc1d474e08";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
   }
   {
-    baseName = "lru-cache";
+    name = "lru-cache";
+    spec = "2.3.0";
     version = "2.3.0";
-    fullName = "lru-cache-2.3.0";
-    hash = "fbb1a14e0314095b7999a3a7489c92983f3d95b188857af697487ac8a778e942";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
   }
   {
-    baseName = "lru-cache";
+    name = "lru-cache";
+    spec = "~1.0.2";
     version = "1.0.6";
-    fullName = "lru-cache-~1.0.2";
-    hash = "f3a419d4989d9db292a7207f04b6108eed6d8316553d888a462cccd4c9e8855e";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "aa50f97047422ac72543bda177a9c9d018d98452";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
+  }
+  {
+    name = "lru-cache";
+    spec = "~2.3.0";
+    version = "2.3.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
   }
   {
-    baseName = "methods";
-    version = "0.0.1";
-    fullName = "methods-0.0.1";
-    hash = "2f7e32954dff5991dd8220e8f5dcdd32aeec5ec56ce9f7235872444af51b3adb";
+    name = "mailcomposer";
+    spec = ">= 0.1.27";
+    version = "0.2.1";
+    topLevel = false;
+    dependencies = [
+      { name = "mimelib"; spec = "~0.2"; }
+      { name = "mime"; spec = "1.2.9"; }
+    ];
     patchLatest = false;
+    sha1 = "89e1326147fb2c222feb931b40e98b6be133f14a";
+    tarball = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.1.tgz";
+  }
+  {
+    name = "methods";
+    spec = "0.0.1";
+    version = "0.0.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
+    tarball = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "*";
     version = "1.2.9";
-    fullName = "mime-*";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "1.2.5";
     version = "1.2.5";
-    fullName = "mime-1.2.5";
-    hash = "ccf05a6c47146e8acb9d0671eee09d2eb077cf9ddd1f7e8eccf49dbf969d6c72";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9eed073022a8bf5e16c8566c6867b8832bfbfa13";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "1.2.6";
     version = "1.2.6";
-    fullName = "mime-1.2.6";
-    hash = "7460134d6b4686d64fd1e7b878d34e2bdd258ad29b6665cf62e6d92659e81591";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "1.2.9";
     version = "1.2.9";
-    fullName = "mime-1.2.9";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "~1.2.2";
     version = "1.2.9";
-    fullName = "mime-~1.2.2";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "~1.2.7";
     version = "1.2.9";
-    fullName = "mime-~1.2.7";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "~1.2.9";
     version = "1.2.9";
-    fullName = "mime-~1.2.9";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "mimelib";
+    spec = "~0.2";
     version = "0.2.12";
-    fullName = "minimatch-0";
-    hash = "205cff8b4ba926e86ff0e6f7f566553906113892028083ea221989a42500c246";
+    topLevel = false;
+    dependencies = [
+      { name = "encoding"; spec = "~0.1"; }
+      { name = "addressparser"; spec = "~0.1"; }
+    ];
     patchLatest = false;
+    sha1 = "5dcbb99c7369e5d62d7e12e71fa334179aebd748";
+    tarball = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.12.tgz";
+  }
+  {
+    name = "minimatch";
+    spec = "0";
+    version = "0.2.12";
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "2"; }
-      { name = "sigmund"; range = "~1.0.0"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "minimatch";
+    spec = "0.0.x";
     version = "0.0.5";
-    fullName = "minimatch-0.0.x";
-    hash = "063694baa9f9ab077e687ff59031f461998ef38fda656ec7c3475931177ccf36";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "~1.0.2"; }
+      { name = "lru-cache"; spec = "~1.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "96bb490bbd3ba6836bbfac111adf75301b1584de";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "minimatch";
+    spec = "0.x.x";
     version = "0.2.12";
-    fullName = "minimatch-0.x.x";
-    hash = "205cff8b4ba926e86ff0e6f7f566553906113892028083ea221989a42500c246";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "2"; }
-      { name = "sigmund"; range = "~1.0.0"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "minimatch";
+    spec = ">=0.2.4";
     version = "0.2.12";
-    fullName = "minimatch->=0.2.4";
-    hash = "205cff8b4ba926e86ff0e6f7f566553906113892028083ea221989a42500c246";
+    topLevel = false;
+    dependencies = [
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
+  }
+  {
+    name = "minimatch";
+    spec = "~0.2.0";
+    version = "0.2.12";
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "2"; }
-      { name = "sigmund"; range = "~1.0.0"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "minimatch";
+    spec = "~0.2.11";
     version = "0.2.12";
-    fullName = "minimatch-~0.2.11";
-    hash = "205cff8b4ba926e86ff0e6f7f566553906113892028083ea221989a42500c246";
+    topLevel = false;
+    dependencies = [
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
+  }
+  {
+    name = "minimatch";
+    spec = "~0.2.12";
+    version = "0.2.12";
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "2"; }
-      { name = "sigmund"; range = "~1.0.0"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
   }
   {
-    baseName = "minimist";
+    name = "minimist";
+    spec = "~0.0.1";
     version = "0.0.1";
-    fullName = "minimist-~0.0.1";
-    hash = "4afcfc7d9ed3d2ff113bf93d777507e2ff7ddfef7ed282e4573ab5dd8422b0d3";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "fa2439fbf7da8525c51b2a74e2815b380abc8ab6";
+    tarball = "http://registry.npmjs.org/minimist/-/minimist-0.0.1.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "*";
     version = "0.3.5";
-    fullName = "mkdirp-*";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0";
     version = "0.3.5";
-    fullName = "mkdirp-0";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0.3";
     version = "0.3.5";
-    fullName = "mkdirp-0.3";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0.3.0";
     version = "0.3.0";
-    fullName = "mkdirp-0.3.0";
-    hash = "708366e3a89c976ae8418056f2c5f784147b9310e8093f9bb7246d2f55f7c27d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
   }
   {
-    baseName = "mkdirp";
-    version = "0.3.4";
-    fullName = "mkdirp-0.3.4";
-    hash = "f87444f2376c56bf47846f3b885aae926c5d9504328923b166794b78c0e08425";
-    patchLatest = false;
+    name = "mkdirp";
+    spec = "0.3.5";
+    version = "0.3.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0.3.x";
     version = "0.3.5";
-    fullName = "mkdirp-0.3.5";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0.x.x";
     version = "0.3.5";
-    fullName = "mkdirp-0.3.x";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "~0.3";
     version = "0.3.5";
-    fullName = "mkdirp-0.x.x";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "~0.3.3";
     version = "0.3.5";
-    fullName = "mkdirp-~0.3.4";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+  }
+  {
+    name = "mkdirp";
+    spec = "~0.3.4";
+    version = "0.3.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mocha";
+    name = "mocha";
+    spec = "*";
     version = "1.12.0";
-    fullName = "mocha-*";
-    hash = "657b833347df35fc39cd1fb0e420f2713db57c4430cbebd10e2f6b37548e4f20";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "commander"; range = "0.6.1"; }
-      { name = "growl"; range = "1.7.x"; }
-      { name = "jade"; range = "0.26.3"; }
-      { name = "diff"; range = "1.0.2"; }
-      { name = "debug"; range = "*"; }
-      { name = "mkdirp"; range = "0.3.5"; }
-      { name = "ms"; range = "0.3.0"; }
-      { name = "glob"; range = "3.2.1"; }
+      { name = "commander"; spec = "0.6.1"; }
+      { name = "growl"; spec = "1.7.x"; }
+      { name = "jade"; spec = "0.26.3"; }
+      { name = "diff"; spec = "1.0.2"; }
+      { name = "debug"; spec = "*"; }
+      { name = "mkdirp"; spec = "0.3.5"; }
+      { name = "ms"; spec = "0.3.0"; }
+      { name = "glob"; spec = "3.2.1"; }
+    ];
+    patchLatest = false;
+    sha1 = "95fc936622ce156b8b19ff8def466ac2f3a3f29e";
+    tarball = "http://registry.npmjs.org/mocha/-/mocha-1.12.0.tgz";
+  }
+  {
+    name = "moment";
+    spec = "2.1.0";
+    version = "2.1.0";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
+    tarball = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
+  }
+  {
+    name = "mongodb";
+    spec = "1.2.14";
+    version = "1.2.14";
+    topLevel = false;
+    dependencies = [
+      { name = "bson"; spec = "0.1.8"; }
     ];
+    patchLatest = false;
+    sha1 = "269665552066437308d0942036646e6795c3a9a3";
+    tarball = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
   }
   {
-    baseName = "mongodb";
+    name = "mongodb";
+    spec = "1.2.x";
     version = "1.2.14";
-    fullName = "mongodb-1.2.x";
-    hash = "011e76d49fb99a58659db12e55d340c4731184dd635b769717db374db3f701a0";
+    topLevel = false;
+    dependencies = [
+      { name = "bson"; spec = "0.1.8"; }
+    ];
     patchLatest = false;
+    sha1 = "269665552066437308d0942036646e6795c3a9a3";
+    tarball = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
+  }
+  {
+    name = "mongodb";
+    spec = "1.3.11";
+    version = "1.3.11";
     topLevel = false;
     dependencies = [
-      { name = "bson"; range = "0.1.8"; }
+      { name = "bson"; spec = "0.1.9"; }
+      { name = "kerberos"; spec = "0.0.3"; }
     ];
+    patchLatest = false;
+    sha1 = "dba6f669dd30612b3d07fc13e2181b9d2b105da2";
+    tarball = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.11.tgz";
   }
   {
-    baseName = "mongodb";
-    version = "1.3.10";
-    fullName = "mongodb-1.3.10";
-    hash = "ea6f279c0bebedec94f0d757fef775302dba6dd4a3792f59696d094bd2c2f113";
-    patchLatest = true;
+    name = "mongoose";
+    spec = "*";
+    version = "3.6.15";
+    topLevel = true;
+    dependencies = [
+      { name = "hooks"; spec = "0.2.1"; }
+      { name = "mongodb"; spec = "1.3.11"; }
+      { name = "ms"; spec = "0.1.0"; }
+      { name = "sliced"; spec = "0.0.3"; }
+      { name = "muri"; spec = "0.3.1"; }
+      { name = "mpromise"; spec = "0.2.1"; }
+      { name = "mpath"; spec = "0.1.1"; }
+      { name = "regexp-clone"; spec = "0.0.1"; }
+    ];
+    patchLatest = false;
+    sha1 = "272f1575da3b48ec31467abdf15baa61854ba5f1";
+    tarball = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.15.tgz";
+  }
+  {
+    name = "mongoose";
+    spec = "3.6.7";
+    version = "3.6.7";
     topLevel = false;
     dependencies = [
-      { name = "bson"; range = "0.1.9"; }
-      { name = "kerberos"; range = "*"; }
+      { name = "hooks"; spec = "0.2.1"; }
+      { name = "mongodb"; spec = "1.2.14"; }
+      { name = "ms"; spec = "0.1.0"; }
+      { name = "sliced"; spec = "0.0.3"; }
+      { name = "muri"; spec = "0.3.1"; }
+      { name = "mpromise"; spec = "0.2.1"; }
+      { name = "mpath"; spec = "0.1.1"; }
     ];
+    patchLatest = false;
+    sha1 = "aa6c9f4dfb740c7721dbe734fbb97714e5ab0ebc";
+    tarball = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
   }
   {
-    baseName = "mongoose";
-    version = "3.6.13";
-    fullName = "mongoose-*";
-    hash = "b6d79ace01b4acbabb0c07d4c053f6fdf4a6b7252cc506ccbbc7a6db5e6bbe36";
+    name = "mongoose-lifecycle";
+    spec = "1.0.0";
+    version = "1.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "3bac3f3924a845d147784fc6558dee900b0151e2";
+    tarball = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
+  }
+  {
+    name = "mongoose-schema-extend";
+    spec = "*";
+    version = "0.1.4";
     topLevel = true;
     dependencies = [
-      { name = "hooks"; range = "0.2.1"; }
-      { name = "mongodb"; range = "1.3.10"; }
-      { name = "ms"; range = "0.1.0"; }
-      { name = "sliced"; range = "0.0.3"; }
-      { name = "muri"; range = "0.3.1"; }
-      { name = "mpromise"; range = "0.2.1"; }
-      { name = "mpath"; range = "0.1.1"; }
-      { name = "regexp-clone"; range = "0.0.1"; }
+      { name = "owl-deepcopy"; spec = "~0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "9f61b2abba5352fcd3d7b1193ee4b4d9f2a83804";
+    tarball = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.4.tgz";
   }
   {
-    baseName = "monocle";
+    name = "monocle";
+    spec = "0.1.48";
     version = "0.1.48";
-    fullName = "monocle-0.1.48";
-    hash = "3a94a890f37ff135ea82f640d8e693f10a11bca3d30c3ec7456a9f97683f15d5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "readdirp"; range = "~0.2.3"; }
+      { name = "readdirp"; spec = "~0.2.3"; }
     ];
+    patchLatest = false;
+    sha1 = "b96730f5ca900fa75a56041eb6db10aad980a383";
+    tarball = "http://registry.npmjs.org/monocle/-/monocle-0.1.48.tgz";
   }
   {
-    baseName = "mpath";
+    name = "mpath";
+    spec = "0.1.1";
     version = "0.1.1";
-    fullName = "mpath-0.1.1";
-    hash = "23e83ac6c4b3d67cc34dc1ba05d1085a3d9ef8243caa756b1ca4af12b4370751";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "23da852b7c232ee097f4759d29c0ee9cd22d5e46";
+    tarball = "http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz";
   }
   {
-    baseName = "mpromise";
+    name = "mpromise";
+    spec = "0.2.1";
     version = "0.2.1";
-    fullName = "mpromise-0.2.1";
-    hash = "56d035a66b1a19a8ad64e99354355e128b18394f69d545597bb5a25fe80147bf";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "sliced"; range = "0.0.4"; }
+      { name = "sliced"; spec = "0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "fbbdc28cb0207e49b8a4eb1a4c0cea6c2de794c8";
+    tarball = "http://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz";
   }
   {
-    baseName = "ms";
+    name = "ms";
+    spec = "0.1.0";
     version = "0.1.0";
-    fullName = "ms-0.1.0";
-    hash = "474bcdb7965551c5a111be2fcdb5e4607491c70a601d04d818ec7e1e1c2ff88b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f21fac490daf1d7667fd180fe9077389cc9442b2";
+    tarball = "http://registry.npmjs.org/ms/-/ms-0.1.0.tgz";
   }
   {
-    baseName = "ms";
+    name = "ms";
+    spec = "0.3.0";
     version = "0.3.0";
-    fullName = "ms-0.3.0";
-    hash = "f72eab0186a6dabbbea7118f83d4e2c01119e427f6671096a0c7ed522abe07f2";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "03edc348d613e66a56486cfdac53bcbe899cbd61";
+    tarball = "http://registry.npmjs.org/ms/-/ms-0.3.0.tgz";
+  }
+  {
+    name = "msgpack";
+    spec = ">= 0.0.1";
+    version = "0.1.10";
     topLevel = false;
     dependencies = [
+      { name = "nodeunit"; spec = "https://github.com/godsflaw/nodeunit/tarball/master"; }
     ];
+    patchLatest = false;
+    sha1 = "ebb2edea5ebc3616a2ce003d8d8ef73b52bf7318";
+    tarball = "http://registry.npmjs.org/msgpack/-/msgpack-0.1.10.tgz";
   }
   {
-    baseName = "muri";
+    name = "muri";
+    spec = "0.3.1";
     version = "0.3.1";
-    fullName = "muri-0.3.1";
-    hash = "5e1b7ac7790350f6043fc8fa1b18f85818fefe0adda18d0c058460413757f959";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "861889c5c857f1a43700bee85d50731f61727c9a";
+    tarball = "http://registry.npmjs.org/muri/-/muri-0.3.1.tgz";
   }
   {
-    baseName = "mute-stream";
-    version = "0.0.3";
-    fullName = "mute-stream-~0.0.2";
-    hash = "7bb2401ad9afaa6f04bc1d2d9411a6e41d7a6198de929d4522e95eeae78b1082";
-    patchLatest = false;
+    name = "mute-stream";
+    spec = "~0.0.4";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
+    tarball = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
   }
   {
-    baseName = "mv";
+    name = "mv";
+    spec = "0.0.5";
     version = "0.0.5";
-    fullName = "mv-0.0.5";
-    hash = "6ddbf4770ffd02170a8fc492cee418ad92ce2f1e2eb4c549febac1f60e6533b9";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "15eac759479884df1131d6de56bce20b654f5391";
+    tarball = "http://registry.npmjs.org/mv/-/mv-0.0.5.tgz";
   }
   {
-    baseName = "natural";
+    name = "natural";
+    spec = "0.0.69";
     version = "0.0.69";
-    fullName = "natural-0.0.69";
-    hash = "1cd394575cbeba7963378fc572a85a3279c4359b75740f9062dddb5b64d6c402";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "sylvester"; range = ">= 0.0.12"; }
-      { name = "apparatus"; range = ">= 0.0.4"; }
-      { name = "underscore"; range = "*"; }
+      { name = "sylvester"; spec = ">= 0.0.12"; }
+      { name = "apparatus"; spec = ">= 0.0.4"; }
+      { name = "underscore"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "60d9ce23797a54ec211600eb721cc66779b954d3";
+    tarball = "http://registry.npmjs.org/natural/-/natural-0.0.69.tgz";
   }
   {
-    baseName = "nconf";
+    name = "nconf";
+    spec = "*";
     version = "0.6.7";
-    fullName = "nconf-*";
-    hash = "1ec390b8fa439e1160e432edc0f9ccec544b8216dfaba3db7002d38351ccfa1c";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "ini"; range = "1.x.x"; }
-      { name = "optimist"; range = "0.3.x"; }
-      { name = "pkginfo"; range = "0.2.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "ini"; spec = "1.x.x"; }
+      { name = "optimist"; spec = "0.3.x"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+    tarball = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
   }
   {
-    baseName = "nconf";
+    name = "nconf";
+    spec = "0.6.7";
     version = "0.6.7";
-    fullName = "nconf-0.6.7";
-    hash = "1ec390b8fa439e1160e432edc0f9ccec544b8216dfaba3db7002d38351ccfa1c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "ini"; range = "1.x.x"; }
-      { name = "optimist"; range = "0.3.x"; }
-      { name = "pkginfo"; range = "0.2.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "ini"; spec = "1.x.x"; }
+      { name = "optimist"; spec = "0.3.x"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+    tarball = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
   }
   {
-    baseName = "ncp";
+    name = "ncp";
+    spec = "0.2.x";
     version = "0.2.7";
-    fullName = "ncp-0.2.x";
-    hash = "9bae6495de613c5adb418348224512b9dc42f2b74c7a2fabecf02f8b7d08343d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "46fac2b7dda2560a4cb7e628677bd5f64eac5be1";
+    tarball = "http://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz";
   }
   {
-    baseName = "negotiator";
+    name = "negotiator";
+    spec = "0.2.5";
     version = "0.2.5";
-    fullName = "negotiator-0.2.5";
-    hash = "37f567acba03ef7748802c4f6b41ca7e57a3fb556c4435cda515028c73d76542";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "12ec7b4a9f3b4c894c31d8c4ec015925ba547eec";
+    tarball = "http://registry.npmjs.org/negotiator/-/negotiator-0.2.5.tgz";
+  }
+  {
+    name = "net-ping";
+    spec = "1.1.7";
+    version = "1.1.7";
     topLevel = false;
     dependencies = [
+      { name = "raw-socket"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "49f5bca55a30a3726d69253557f231135a637075";
+    tarball = "http://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz";
   }
   {
-    baseName = "nib";
+    name = "nib";
+    spec = "0.5.0";
     version = "0.5.0";
-    fullName = "nib-0.5.0";
-    hash = "9e3ebce2cfb055b8eadcb2fcac3e49570e429a5262ce5a59844857fbcb27f4c7";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "ad0a7dfa2bca8680c8cb8adaa6ab68c80e5221e5";
+    tarball = "http://registry.npmjs.org/nib/-/nib-0.5.0.tgz";
   }
   {
-    baseName = "nijs";
-    version = "0.0.8";
-    fullName = "nijs-*";
-    hash = "134a4f764835280487334f5cfd5a0d271cdd784fe954ad619fad250f54c3b3b9";
-    patchLatest = false;
+    name = "nijs";
+    spec = "*";
+    version = "0.0.10";
     topLevel = true;
     dependencies = [
-      { name = "optparse"; range = ">= 1.0.3"; }
+      { name = "optparse"; spec = ">= 1.0.3"; }
     ];
+    patchLatest = false;
+    sha1 = "79d09c5c9a2f1f3e96708c9dc6b4547b89cf8177";
+    tarball = "http://registry.npmjs.org/nijs/-/nijs-0.0.10.tgz";
   }
   {
-    baseName = "node-expat";
+    name = "node-expat";
+    spec = "*";
     version = "2.0.0";
-    fullName = "node-expat-*";
-    hash = "9d5b7efd708fc546f5c17e98f4ee322abafaaa02fbb6c281f651d10d9523c83f";
+    topLevel = true;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "a10271b3463484fa4b59895df61693a1de4ac735";
+    tarball = "http://registry.npmjs.org/node-expat/-/node-expat-2.0.0.tgz";
+  }
+  {
+    name = "node-gyp";
+    spec = "*";
+    version = "0.10.6";
     topLevel = true;
     dependencies = [
+      { name = "glob"; spec = "3"; }
+      { name = "graceful-fs"; spec = "2"; }
+      { name = "fstream"; spec = "0"; }
+      { name = "minimatch"; spec = "0"; }
+      { name = "mkdirp"; spec = "0"; }
+      { name = "nopt"; spec = "2"; }
+      { name = "npmlog"; spec = "0"; }
+      { name = "osenv"; spec = "0"; }
+      { name = "request"; spec = "2"; }
+      { name = "rimraf"; spec = "2"; }
+      { name = "semver"; spec = "~2.0.7"; }
+      { name = "tar"; spec = "0"; }
+      { name = "which"; spec = "1"; }
     ];
+    patchLatest = false;
+    sha1 = "2b81f9c1b9cd3cc8fd56fe776744814e394d3427";
+    tarball = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.6.tgz";
   }
   {
-    baseName = "node-gyp";
-    version = "0.10.4";
-    fullName = "node-gyp-*";
-    hash = "b8bd44e4f5143fff5c22d5961982ae1504467dff17624be4525728c0500fd3a4";
+    name = "node-gyp";
+    spec = "~0.10.6";
+    version = "0.10.6";
+    topLevel = false;
+    dependencies = [
+      { name = "glob"; spec = "3"; }
+      { name = "graceful-fs"; spec = "2"; }
+      { name = "fstream"; spec = "0"; }
+      { name = "minimatch"; spec = "0"; }
+      { name = "mkdirp"; spec = "0"; }
+      { name = "nopt"; spec = "2"; }
+      { name = "npmlog"; spec = "0"; }
+      { name = "osenv"; spec = "0"; }
+      { name = "request"; spec = "2"; }
+      { name = "rimraf"; spec = "2"; }
+      { name = "semver"; spec = "~2.0.7"; }
+      { name = "tar"; spec = "0"; }
+      { name = "which"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "2b81f9c1b9cd3cc8fd56fe776744814e394d3427";
+    tarball = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.6.tgz";
+  }
+  {
+    name = "node-uptime";
+    spec = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
+    version = "3.2.0";
     topLevel = true;
     dependencies = [
-      { name = "glob"; range = "3"; }
-      { name = "graceful-fs"; range = "1"; }
-      { name = "fstream"; range = "0"; }
-      { name = "minimatch"; range = "0"; }
-      { name = "mkdirp"; range = "0"; }
-      { name = "nopt"; range = "2"; }
-      { name = "npmlog"; range = "0"; }
-      { name = "osenv"; range = "0"; }
-      { name = "request"; range = "2"; }
-      { name = "rimraf"; range = "2"; }
-      { name = "semver"; range = "~2.0.7"; }
-      { name = "tar"; range = "0"; }
-      { name = "which"; range = "1"; }
+      { name = "mongoose"; spec = "3.6.7"; }
+      { name = "mongoose-lifecycle"; spec = "1.0.0"; }
+      { name = "express"; spec = "3.2.0"; }
+      { name = "express-partials"; spec = "0.0.6"; }
+      { name = "connect-flash"; spec = "0.1.0"; }
+      { name = "ejs"; spec = "0.8.3"; }
+      { name = "config"; spec = "0.4.15"; }
+      { name = "async"; spec = "0.1.22"; }
+      { name = "socket.io"; spec = "0.9.14"; }
+      { name = "semver"; spec = "1.1.0"; }
+      { name = "moment"; spec = "2.1.0"; }
+      { name = "nodemailer"; spec = "0.3.35"; }
+      { name = "net-ping"; spec = "1.1.7"; }
+      { name = "js-yaml"; spec = "2.1.0"; }
     ];
+    patchLatest = false;
+    sha256 = "46424d7f9553ce7313cc09995ab11d237dd02257c29f260cfb38d2799e7c7746";
+    tarball = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "*";
     version = "1.4.0";
-    fullName = "node-uuid-*";
-    hash = "87a1944b5334351ddd1d3e44d2e423ebfc027e858111efb72324054092cfd1bc";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "1.2.0";
     version = "1.2.0";
-    fullName = "node-uuid-1.2.0";
-    hash = "96d3ce178ea0825d27a855630de74243a577dc988512512eea572829b208a3d2";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "81a9fe32934719852499b58b2523d2cd5fdfd65b";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.2.0.tgz";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "1.3.3";
     version = "1.3.3";
-    fullName = "node-uuid-1.3.3";
-    hash = "a3fbccc904944a9c8eadc59e55aaac908cc458569f539b50077d9672a84587a8";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d3db4d7b56810d9e4032342766282af07391729b";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "1.4.0";
     version = "1.4.0";
-    fullName = "node-uuid-1.4.0";
-    hash = "87a1944b5334351ddd1d3e44d2e423ebfc027e858111efb72324054092cfd1bc";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "~1.4.0";
     version = "1.4.0";
-    fullName = "node-uuid-~1.4.0";
-    hash = "87a1944b5334351ddd1d3e44d2e423ebfc027e858111efb72324054092cfd1bc";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
+  }
+  {
+    name = "nodemailer";
+    spec = "0.3.35";
+    version = "0.3.35";
     topLevel = false;
     dependencies = [
+      { name = "mailcomposer"; spec = ">= 0.1.27"; }
+      { name = "simplesmtp"; spec = ">= 0.1.22"; }
+      { name = "optimist"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "4d38cdc0ad230bdf88cc27d1256ef49fcb422e19";
+    tarball = "http://registry.npmjs.org/nodemailer/-/nodemailer-0.3.35.tgz";
   }
   {
-    baseName = "nodemon";
+    name = "nodemon";
+    spec = "*";
     version = "0.7.8";
-    fullName = "nodemon-*";
-    hash = "123a54f51297e5186061846a5dae5117c2a218a8a477364055828a0c2ea39bed";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c0667a000f208dbf6a4dad08a5186595a9889590";
+    tarball = "http://registry.npmjs.org/nodemon/-/nodemon-0.7.8.tgz";
   }
   {
-    baseName = "nopt";
-    version = "2.1.1";
-    fullName = "nopt-2";
-    hash = "a7a84f3fe51cb8fb97c678bc73130b53d6782ee90dc0e9b15ae39630ce2fa203";
+    name = "nodeunit";
+    spec = "https://github.com/godsflaw/nodeunit/tarball/master";
+    version = "0.7.4";
+    topLevel = false;
+    dependencies = [
+      { name = "tap"; spec = ">=0.2.3"; }
+    ];
     patchLatest = false;
+    sha256 = "c79333b5b54ca3b9eb42e42d6ea48d261aa9e015c0ad9cf340abacb528d0ee3a";
+    tarball = "https://github.com/godsflaw/nodeunit/tarball/master";
+  }
+  {
+    name = "nopt";
+    spec = "2";
+    version = "2.1.2";
     topLevel = false;
     dependencies = [
-      { name = "abbrev"; range = "1"; }
+      { name = "abbrev"; spec = "1"; }
     ];
+    patchLatest = false;
+    sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+    tarball = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
   }
   {
-    baseName = "nopt";
+    name = "nopt";
+    spec = "2.0.0";
     version = "2.0.0";
-    fullName = "nopt-2.0.0";
-    hash = "112e9bea8b745a2e5a59d239e6f6f02e720e080ab8cdca89b6b8f0143ae718b5";
+    topLevel = false;
+    dependencies = [
+      { name = "abbrev"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
+    tarball = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
+  }
+  {
+    name = "nopt";
+    spec = "~2";
+    version = "2.1.2";
     topLevel = false;
     dependencies = [
-      { name = "abbrev"; range = "1"; }
+      { name = "abbrev"; spec = "1"; }
     ];
+    patchLatest = false;
+    sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+    tarball = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
   }
   {
-    baseName = "npm2nix";
-    version = "1.2.0";
-    fullName = "npm2nix-*";
-    hash = "b79bd319e4030704bb41078dbbec0db9eebb984966c6bd3cad55ba4c76ec622c";
+    name = "nopt";
+    spec = "~2.1.2";
+    version = "2.1.2";
+    topLevel = false;
+    dependencies = [
+      { name = "abbrev"; spec = "1"; }
+    ];
     patchLatest = false;
-    topLevel = true;
+    sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+    tarball = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
+  }
+  {
+    name = "normalize-package-data";
+    spec = "~0.2";
+    version = "0.2.1";
+    topLevel = false;
     dependencies = [
-      { name = "semver"; range = "1"; }
+      { name = "semver"; spec = "2"; }
+      { name = "github-url-from-git"; spec = "~1.1.1"; }
     ];
+    patchLatest = false;
+    sha1 = "6c13a4b7ab1bca0323265418d354666da2e5ad43";
+    tarball = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.1.tgz";
   }
   {
-    baseName = "npmlog";
+    name = "npm";
+    spec = "*";
+    version = "1.3.5";
+    topLevel = true;
+    dependencies = [
+      { name = "semver"; spec = "~2.0.8"; }
+      { name = "ini"; spec = "~1.1.0"; }
+      { name = "slide"; spec = "~1.1.4"; }
+      { name = "abbrev"; spec = "~1.0.4"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "minimatch"; spec = "~0.2.12"; }
+      { name = "nopt"; spec = "~2.1.2"; }
+      { name = "rimraf"; spec = "~2.2.0"; }
+      { name = "request"; spec = "~2.21.0"; }
+      { name = "which"; spec = "1"; }
+      { name = "tar"; spec = "~0.1.18"; }
+      { name = "fstream"; spec = "~0.1.23"; }
+      { name = "block-stream"; spec = "0.0.7"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "read"; spec = "~1.0.4"; }
+      { name = "lru-cache"; spec = "~2.3.0"; }
+      { name = "node-gyp"; spec = "~0.10.6"; }
+      { name = "fstream-npm"; spec = "~0.1.3"; }
+      { name = "uid-number"; spec = "0"; }
+      { name = "archy"; spec = "0"; }
+      { name = "chownr"; spec = "0"; }
+      { name = "npmlog"; spec = "0.0.4"; }
+      { name = "ansi"; spec = "~0.1.2"; }
+      { name = "npm-registry-client"; spec = "~0.2.27"; }
+      { name = "read-package-json"; spec = "~1.1.0"; }
+      { name = "read-installed"; spec = "~0.2.2"; }
+      { name = "glob"; spec = "~3.2.3"; }
+      { name = "init-package-json"; spec = "0.0.10"; }
+      { name = "osenv"; spec = "0"; }
+      { name = "lockfile"; spec = "~0.4.0"; }
+      { name = "retry"; spec = "~0.6.0"; }
+      { name = "once"; spec = "~1.1.1"; }
+      { name = "npmconf"; spec = "~0.1.2"; }
+      { name = "opener"; spec = "~1.3.0"; }
+      { name = "chmodr"; spec = "~0.1.0"; }
+      { name = "cmd-shim"; spec = "~1.0.1"; }
+      { name = "sha"; spec = "~1.2.1"; }
+      { name = "editor"; spec = "0.0.4"; }
+      { name = "child-process-close"; spec = "~0.1.1"; }
+      { name = "npm-user-validate"; spec = "0.0.3"; }
+    ];
+    patchLatest = false;
+    sha1 = "05d6c4d01d2bc3f1adf15948adf2f7110553f471";
+    tarball = "http://registry.npmjs.org/npm/-/npm-1.3.5.tgz";
+  }
+  {
+    name = "npm-registry-client";
+    spec = "0.2.27";
+    version = "0.2.27";
+    topLevel = false;
+    dependencies = [
+      { name = "request"; spec = "2 >=2.20.0"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "semver"; spec = "~2.0.5"; }
+      { name = "slide"; spec = "~1.1.3"; }
+      { name = "chownr"; spec = "0"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "rimraf"; spec = "~2"; }
+      { name = "retry"; spec = "0.6.0"; }
+      { name = "couch-login"; spec = "~0.1.15"; }
+      { name = "npmlog"; spec = ""; }
+    ];
+    patchLatest = false;
+    sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
+    tarball = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
+  }
+  {
+    name = "npm-registry-client";
+    spec = "~0.2.27";
+    version = "0.2.27";
+    topLevel = false;
+    dependencies = [
+      { name = "request"; spec = "2 >=2.20.0"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "semver"; spec = "~2.0.5"; }
+      { name = "slide"; spec = "~1.1.3"; }
+      { name = "chownr"; spec = "0"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "rimraf"; spec = "~2"; }
+      { name = "retry"; spec = "0.6.0"; }
+      { name = "couch-login"; spec = "~0.1.15"; }
+      { name = "npmlog"; spec = ""; }
+    ];
+    patchLatest = false;
+    sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
+    tarball = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
+  }
+  {
+    name = "npm-user-validate";
+    spec = "0.0.3";
     version = "0.0.3";
-    fullName = "npmlog-0";
-    hash = "3214a04d9a54c588d2585b657c7068f9561dba34dd2323c4ac7ec98e69e3e9cd";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "818eca4312d13da648f9bc1d7f80bb4f151e0c2e";
+    tarball = "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.0.3.tgz";
+  }
+  {
+    name = "npm2nix";
+    spec = "*";
+    version = "3.0.3";
+    topLevel = true;
+    dependencies = [
+      { name = "semver"; spec = ">=2.0.10 <3.0.0"; }
+      { name = "argparse"; spec = "0.1.15"; }
+      { name = "npm-registry-client"; spec = "0.2.27"; }
+      { name = "npmconf"; spec = "0.1.1"; }
+      { name = "tar"; spec = "0.1.17"; }
+    ];
+    patchLatest = false;
+    sha1 = "425e47672a9088dbd00a325eda6b7b1e92a3190b";
+    tarball = "http://registry.npmjs.org/npm2nix/-/npm2nix-3.0.3.tgz";
+  }
+  {
+    name = "npmconf";
+    spec = "0.1.1";
+    version = "0.1.1";
     topLevel = false;
     dependencies = [
-      { name = "ansi"; range = "~0.1.2"; }
+      { name = "config-chain"; spec = "~1.1.1"; }
+      { name = "inherits"; spec = "~1.0.0"; }
+      { name = "once"; spec = "~1.1.1"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "osenv"; spec = "0.0.3"; }
+      { name = "nopt"; spec = "2"; }
+      { name = "semver"; spec = "2"; }
+      { name = "ini"; spec = "~1.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
+    tarball = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
   }
   {
-    baseName = "nssocket";
-    version = "0.5.1";
-    fullName = "nssocket-~0.5.1";
-    hash = "aaf06b612cd99bf9e5790b2bf9b0f1963c2b605eaf3529b905c1fbdc1dee5333";
+    name = "npmconf";
+    spec = "~0.1.2";
+    version = "0.1.2";
+    topLevel = false;
+    dependencies = [
+      { name = "config-chain"; spec = "~1.1.1"; }
+      { name = "inherits"; spec = "~2.0.0"; }
+      { name = "once"; spec = "~1.1.1"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "osenv"; spec = "0.0.3"; }
+      { name = "nopt"; spec = "2"; }
+      { name = "semver"; spec = "2"; }
+      { name = "ini"; spec = "~1.1.0"; }
+    ];
     patchLatest = false;
+    sha1 = "99af8122f0067802436a5b71dbf8c3539697e62c";
+    tarball = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.2.tgz";
+  }
+  {
+    name = "npmlog";
+    spec = "";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
-      { name = "eventemitter2"; range = "~0.4.11"; }
-      { name = "lazy"; range = "~1.0.11"; }
+      { name = "ansi"; spec = "~0.1.2"; }
     ];
+    patchLatest = false;
+    sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+    tarball = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
   }
   {
-    baseName = "oauth-sign";
-    version = "0.2.0";
-    fullName = "oauth-sign-~0.2.0";
-    hash = "ef91b4266c71c68478dd7c50767085210006ebfb9e9263c72d42f47972991580";
+    name = "npmlog";
+    spec = "0";
+    version = "0.0.4";
+    topLevel = false;
+    dependencies = [
+      { name = "ansi"; spec = "~0.1.2"; }
+    ];
     patchLatest = false;
+    sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+    tarball = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
+  }
+  {
+    name = "npmlog";
+    spec = "0.0.4";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
+      { name = "ansi"; spec = "~0.1.2"; }
     ];
+    patchLatest = false;
+    sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+    tarball = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
   }
   {
-    baseName = "oauth-sign";
+    name = "nssocket";
+    spec = "~0.5.1";
+    version = "0.5.1";
+    topLevel = false;
+    dependencies = [
+      { name = "eventemitter2"; spec = "~0.4.11"; }
+      { name = "lazy"; spec = "~1.0.11"; }
+    ];
+    patchLatest = false;
+    sha1 = "11f0428335ad8d89ff9cf96ab2852a23b1b33b71";
+    tarball = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
+  }
+  {
+    name = "oauth-sign";
+    spec = "~0.2.0";
+    version = "0.2.0";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
+    tarball = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
+  }
+  {
+    name = "oauth-sign";
+    spec = "~0.3.0";
     version = "0.3.0";
-    fullName = "oauth-sign-~0.3.0";
-    hash = "a202acb9ea84ef53e6a82a6ee5113328cd4bfd68d6ba04d15f1da933660b087e";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+    tarball = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+  }
+  {
+    name = "once";
+    spec = "1.1.1";
+    version = "1.1.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+    tarball = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
   }
   {
-    baseName = "once";
+    name = "once";
+    spec = "~1.1.1";
     version = "1.1.1";
-    fullName = "once-1.1.1";
-    hash = "3fdc1a246f2522991fd9a6554a93c012c3192ea99918fdd893a2d4f2d546fe93";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+    tarball = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
+  }
+  {
+    name = "opener";
+    spec = "~1.3.0";
+    version = "1.3.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "130ba662213fa842edb4cd0361d31a15301a43e2";
+    tarball = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "*";
     version = "0.6.0";
-    fullName = "optimist-*";
-    hash = "a75df1152906f1b66583c957cbffba34aaead644547d4a0300b713281279d4cf";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
-      { name = "minimist"; range = "~0.0.1"; }
+      { name = "wordwrap"; spec = "~0.0.2"; }
+      { name = "minimist"; spec = "~0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "0.2";
     version = "0.2.8";
-    fullName = "optimist-0.2";
-    hash = "5ee9f3bbd03239903831ccc33c6c365251550cbfd88d9fb92011feac4376cf84";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = ">=0.0.1 <0.1.0"; }
+      { name = "wordwrap"; spec = ">=0.0.1 <0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "e981ab7e268b457948593b55674c099a815cac31";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "0.3.5";
     version = "0.3.5";
-    fullName = "optimist-0.3.5";
-    hash = "a407715c9745c9242923f282a70d55947e21f5c4800c99b09d2eb6e48735a09d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
+      { name = "wordwrap"; spec = "~0.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "03654b52417030312d109f39b159825b60309304";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.3.5.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "0.3.x";
     version = "0.3.7";
-    fullName = "optimist-0.3.x";
-    hash = "ba534aa013072a9650a18da311de8025d73b58b71dcea7c7ade4d8e8f274dd33";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
+      { name = "wordwrap"; spec = "~0.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "0.4.0";
     version = "0.4.0";
-    fullName = "optimist-0.4.0";
-    hash = "bbbd3c9e8c1e8f59e7097271a78fa628c6dc76de894a02fc625872b72bc99555";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
+      { name = "wordwrap"; spec = "~0.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "cb8ec37f2fe3aa9864cb67a275250e7e19620a25";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.4.0.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "~0.3.5";
     version = "0.3.7";
-    fullName = "optimist-~0.3.5";
-    hash = "ba534aa013072a9650a18da311de8025d73b58b71dcea7c7ade4d8e8f274dd33";
+    topLevel = false;
+    dependencies = [
+      { name = "wordwrap"; spec = "~0.0.2"; }
+    ];
     patchLatest = false;
+    sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+  }
+  {
+    name = "options";
+    spec = ">=0.0.5";
+    version = "0.0.5";
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "9a3806378f316536d79038038ba90ccb724816c3";
+    tarball = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
   }
   {
-    baseName = "optparse";
+    name = "optparse";
+    spec = "*";
     version = "1.0.4";
-    fullName = "optparse-*";
-    hash = "8413ed6a2318ffecdb428181a6966013d1853ff62644afcbcff682c1efc9367a";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
+    tarball = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
   }
   {
-    baseName = "optparse";
+    name = "optparse";
+    spec = ">= 1.0.3";
     version = "1.0.4";
-    fullName = "optparse->= 1.0.3";
-    hash = "8413ed6a2318ffecdb428181a6966013d1853ff62644afcbcff682c1efc9367a";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
+    tarball = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
+  }
+  {
+    name = "osenv";
+    spec = "0";
+    version = "0.0.3";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+    tarball = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
   }
   {
-    baseName = "osenv";
+    name = "osenv";
+    spec = "0.0.3";
     version = "0.0.3";
-    fullName = "osenv-0";
-    hash = "aafbb23637b7338c9025f9da336f31f96674d7926c30f209e4d93ce16d5251c4";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+    tarball = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
+  }
+  {
+    name = "owl-deepcopy";
+    spec = "~0.0.1";
+    version = "0.0.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88";
+    tarball = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz";
   }
   {
-    baseName = "passport";
+    name = "passport";
+    spec = "*";
     version = "0.1.17";
-    fullName = "passport-*";
-    hash = "65c15a1666abc16a86d586233f40b89b68b50bf88107809878742973af8b516e";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "pause"; range = "0.0.1"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "pause"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+    tarball = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
   }
   {
-    baseName = "passport-local";
-    version = "0.1.6";
-    fullName = "passport-local-*";
-    hash = "de7dbe29a63fc648686425ba4ef23b99195372ae322037977864db08657e262d";
-    patchLatest = false;
-    topLevel = true;
+    name = "passport";
+    spec = "~0.1.1";
+    version = "0.1.17";
+    topLevel = false;
     dependencies = [
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "passport"; range = "~0.1.1"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "pause"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+    tarball = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
   }
   {
-    baseName = "passport";
+    name = "passport";
+    spec = "~0.1.3";
     version = "0.1.17";
-    fullName = "passport-~0.1.1";
-    hash = "65c15a1666abc16a86d586233f40b89b68b50bf88107809878742973af8b516e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "pause"; range = "0.0.1"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "pause"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+    tarball = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
   }
   {
-    baseName = "pause";
-    version = "0.0.1";
-    fullName = "pause-0.0.1";
-    hash = "d37b84046db0c28c9768be649e8f02bd991ede34b276b5dba7bade23b523235e";
+    name = "passport-http";
+    spec = "*";
+    version = "0.2.2";
+    topLevel = true;
+    dependencies = [
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "passport"; spec = "~0.1.3"; }
+    ];
     patchLatest = false;
+    sha1 = "2501314c0ff4a831e8a51ccfdb1b68f5c7cbc9f6";
+    tarball = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz";
+  }
+  {
+    name = "passport-local";
+    spec = "*";
+    version = "0.1.6";
+    topLevel = true;
+    dependencies = [
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "passport"; spec = "~0.1.1"; }
+    ];
+    patchLatest = false;
+    sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db";
+    tarball = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz";
+  }
+  {
+    name = "pause";
+    spec = "0.0.1";
+    version = "0.0.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+    tarball = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
   }
   {
-    baseName = "pkginfo";
+    name = "pkginfo";
+    spec = "0.2.x";
     version = "0.2.3";
-    fullName = "pkginfo-0.2.x";
-    hash = "0685c2cd94db8515a95b8127d1ab4e2a82d37deb4f808b41c9e0c033e34fe77f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "7239c42a5ef6c30b8f328439d9b9ff71042490f8";
+    tarball = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
   }
   {
-    baseName = "pkginfo";
+    name = "pkginfo";
+    spec = "0.3.0";
     version = "0.3.0";
-    fullName = "pkginfo-0.3.0";
-    hash = "e55f5e0f767cabc55b638808736f952d6d74157938a87192106ce83c66a195a5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    tarball = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
   }
   {
-    baseName = "pkginfo";
+    name = "pkginfo";
+    spec = "0.3.x";
     version = "0.3.0";
-    fullName = "pkginfo-0.3.x";
-    hash = "e55f5e0f767cabc55b638808736f952d6d74157938a87192106ce83c66a195a5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    tarball = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
   }
   {
-    baseName = "pkginfo";
+    name = "pkginfo";
+    spec = "0.x.x";
     version = "0.3.0";
-    fullName = "pkginfo-0.x.x";
-    hash = "e55f5e0f767cabc55b638808736f952d6d74157938a87192106ce83c66a195a5";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    tarball = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+  }
+  {
+    name = "policyfile";
+    spec = "0.0.4";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
+    tarball = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
   }
   {
-    baseName = "posix-getopt";
+    name = "posix-getopt";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "posix-getopt-1.0.0";
-    hash = "134cea188854422ab047db9ebfcb7e2610f0a239fe27382b55c10894c4f5ba9d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "42a90eca6119014c78bc4b9b70463d294db1aa87";
+    tarball = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz";
   }
   {
-    baseName = "promise";
+    name = "promise";
+    spec = "~2.0";
     version = "2.0.0";
-    fullName = "promise-~2.0";
-    hash = "ccc3f345cd6facd0bcb0e599320e1da06b447ee573982b04f6b615a3da1ba7df";
+    topLevel = false;
+    dependencies = [
+      { name = "is-promise"; spec = "~1"; }
+    ];
     patchLatest = false;
+    sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
+    tarball = "http://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
+  }
+  {
+    name = "prompt";
+    spec = "0.2.11";
+    version = "0.2.11";
     topLevel = false;
     dependencies = [
-      { name = "is-promise"; range = "~1"; }
+      { name = "pkginfo"; spec = "0.x.x"; }
+      { name = "read"; spec = "1.0.x"; }
+      { name = "revalidator"; spec = "0.1.x"; }
+      { name = "utile"; spec = "0.2.x"; }
+      { name = "winston"; spec = "0.6.x"; }
     ];
+    patchLatest = false;
+    sha1 = "26d455af4b7fac15291dfcdddf2400328c1fa446";
+    tarball = "http://registry.npmjs.org/prompt/-/prompt-0.2.11.tgz";
   }
   {
-    baseName = "prompt";
+    name = "prompt";
+    spec = "0.2.9";
     version = "0.2.9";
-    fullName = "prompt-0.2.9";
-    hash = "2444c21920d4169c51cae11fafed129c09df11f4bdda8e7ad76ea626a8828878";
+    topLevel = false;
+    dependencies = [
+      { name = "pkginfo"; spec = "0.x.x"; }
+      { name = "read"; spec = "1.0.x"; }
+      { name = "revalidator"; spec = "0.1.x"; }
+      { name = "utile"; spec = "0.1.x"; }
+      { name = "winston"; spec = "0.6.x"; }
+    ];
+    patchLatest = false;
+    sha1 = "fdd01e3f9654d0c44fbb8671f8d3f6ca009e3c16";
+    tarball = "http://registry.npmjs.org/prompt/-/prompt-0.2.9.tgz";
+  }
+  {
+    name = "promzard";
+    spec = "~0.2.0";
+    version = "0.2.0";
+    topLevel = false;
+    dependencies = [
+      { name = "read"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "766f33807faadeeecacf8057024fe5f753cfa3c1";
+    tarball = "http://registry.npmjs.org/promzard/-/promzard-0.2.0.tgz";
+  }
+  {
+    name = "proto-list";
+    spec = "~1.2.1";
+    version = "1.2.2";
     topLevel = false;
     dependencies = [
-      { name = "pkginfo"; range = "0.x.x"; }
-      { name = "read"; range = "1.0.x"; }
-      { name = "revalidator"; range = "0.1.x"; }
-      { name = "utile"; range = "0.1.x"; }
-      { name = "winston"; range = "0.6.x"; }
     ];
+    patchLatest = false;
+    sha1 = "48b88798261ec2c4a785720cdfec6200d57d3326";
+    tarball = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.2.tgz";
   }
   {
-    baseName = "ps-tree";
+    name = "ps-tree";
+    spec = "0.0.x";
     version = "0.0.3";
-    fullName = "ps-tree-0.0.x";
-    hash = "d6af58e1062457f3aa92306c8eb970f32d2d52b93ecca4920c7409afd419a78d";
+    topLevel = false;
+    dependencies = [
+      { name = "event-stream"; spec = "~0.5"; }
+    ];
     patchLatest = false;
+    sha1 = "dbf8d752a7fe22fa7d58635689499610e9276ddc";
+    tarball = "http://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz";
+  }
+  {
+    name = "q";
+    spec = ">= 0.0.1";
+    version = "0.9.6";
     topLevel = false;
     dependencies = [
-      { name = "event-stream"; range = "~0.5"; }
     ];
+    patchLatest = false;
+    sha1 = "5884b2154bdb3b6d5765e0fafddcb1506e133619";
+    tarball = "http://registry.npmjs.org/q/-/q-0.9.6.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "0.5.1";
     version = "0.5.1";
-    fullName = "qs-0.5.1";
-    hash = "85bf27180b586499902d4e2bea83974b337924c870f6b790a23e6bfeb982c2e5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "0.5.5";
     version = "0.5.5";
-    fullName = "qs-0.5.5";
-    hash = "8ed820b83bf4aff299422dc406c7a52793e05f510803cc1cc2da7de1528837f1";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b07f0d7ffe3efc6fc2fcde6c66a20775641423f3";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.5.5.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "0.6.5";
     version = "0.6.5";
-    fullName = "qs-0.6.5";
-    hash = "293e5dfd16bfe0aee8b3fe130abb951ac9c8c084d1103f7d81c4e5c312b2940d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "~0.5.4";
     version = "0.5.6";
-    fullName = "qs-~0.5.4";
-    hash = "3c7b49a51d52e5c8b988c2a53f8605d03a18d5e29b55b4f187c6a0fc714d00e9";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "~0.6.0";
     version = "0.6.5";
-    fullName = "qs-~0.6.0";
-    hash = "293e5dfd16bfe0aee8b3fe130abb951ac9c8c084d1103f7d81c4e5c312b2940d";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
+  }
+  {
+    name = "rai";
+    spec = "~0.1";
+    version = "0.1.7";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1b50f1dcb4a493a67ef7a0a8c72167d789df52a0";
+    tarball = "http://registry.npmjs.org/rai/-/rai-0.1.7.tgz";
   }
   {
-    baseName = "range-parser";
+    name = "range-parser";
+    spec = "0.0.4";
     version = "0.0.4";
-    fullName = "range-parser-0.0.4";
-    hash = "8e1bcce3544330b51644ea0cb4d25f0daa4b43008a75da27e285635f4ac4b1ce";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
+    tarball = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
   }
   {
-    baseName = "rbytes";
-    version = "0.0.2";
-    fullName = "rbytes-*";
-    hash = "0fd4697be996ee12c65f8fb13b2edc7a554d22c31d1a344539bc611ce73b69aa";
+    name = "raw-socket";
+    spec = "*";
+    version = "1.2.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "586a3acba952922aff9e19ef3b9665aba1f6d152";
+    tarball = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.0.tgz";
+  }
+  {
+    name = "rbytes";
+    spec = "*";
+    version = "1.0.0";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
+    tarball = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
   }
   {
-    baseName = "read";
-    version = "1.0.4";
-    fullName = "read-1.0.x";
-    hash = "8be269afeaa7cc62feb4672e8e61e5133152266dc5347b23cf5b05bc40789601";
+    name = "read";
+    spec = "1";
+    version = "1.0.5";
+    topLevel = false;
+    dependencies = [
+      { name = "mute-stream"; spec = "~0.0.4"; }
+    ];
     patchLatest = false;
+    sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    tarball = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+  }
+  {
+    name = "read";
+    spec = "1.0.x";
+    version = "1.0.5";
     topLevel = false;
     dependencies = [
-      { name = "mute-stream"; range = "~0.0.2"; }
+      { name = "mute-stream"; spec = "~0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    tarball = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+  }
+  {
+    name = "read";
+    spec = "~1.0.1";
+    version = "1.0.5";
+    topLevel = false;
+    dependencies = [
+      { name = "mute-stream"; spec = "~0.0.4"; }
+    ];
+    patchLatest = false;
+    sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    tarball = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
   }
   {
-    baseName = "readable-stream";
+    name = "read";
+    spec = "~1.0.4";
+    version = "1.0.5";
+    topLevel = false;
+    dependencies = [
+      { name = "mute-stream"; spec = "~0.0.4"; }
+    ];
+    patchLatest = false;
+    sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    tarball = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+  }
+  {
+    name = "read-installed";
+    spec = "~0.2.2";
+    version = "0.2.3";
+    topLevel = false;
+    dependencies = [
+      { name = "semver"; spec = "2"; }
+      { name = "slide"; spec = "~1.1.3"; }
+      { name = "read-package-json"; spec = "1"; }
+      { name = "graceful-fs"; spec = "~2"; }
+    ];
+    patchLatest = false;
+    sha1 = "234204b47f6a0eb82c662fc04f7b7c5f7e795239";
+    tarball = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.3.tgz";
+  }
+  {
+    name = "read-package-json";
+    spec = "1";
+    version = "1.1.1";
+    topLevel = false;
+    dependencies = [
+      { name = "glob"; spec = "~3.2.1"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "normalize-package-data"; spec = "~0.2"; }
+      { name = "graceful-fs"; spec = "2"; }
+    ];
+    patchLatest = false;
+    sha1 = "5d679b34ddf53ac3bc232aeb421f6b6857f925e5";
+    tarball = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.1.tgz";
+  }
+  {
+    name = "read-package-json";
+    spec = "~1.1.0";
+    version = "1.1.1";
+    topLevel = false;
+    dependencies = [
+      { name = "glob"; spec = "~3.2.1"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "normalize-package-data"; spec = "~0.2"; }
+      { name = "graceful-fs"; spec = "2"; }
+    ];
+    patchLatest = false;
+    sha1 = "5d679b34ddf53ac3bc232aeb421f6b6857f925e5";
+    tarball = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.1.tgz";
+  }
+  {
+    name = "readable-stream";
+    spec = "1.0";
     version = "1.0.2";
-    fullName = "readable-stream-~1.0.2";
-    hash = "45a918b25f0799f87d7144dbbb7d2b5974dc079fcb1a2149a305d080f1155754";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "213ce36864fc1f0d4e98e03b9eb92c64042299d4";
+    tarball = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.2.tgz";
+  }
+  {
+    name = "readable-stream";
+    spec = "~1.0.2";
+    version = "1.0.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "213ce36864fc1f0d4e98e03b9eb92c64042299d4";
+    tarball = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.2.tgz";
   }
   {
-    baseName = "readdirp";
+    name = "readdirp";
+    spec = "~0.2.3";
     version = "0.2.5";
-    fullName = "readdirp-~0.2.3";
-    hash = "22d8e0e38c0d358c951221d0051d1e9e1eafeaf2136ac7fe0aa3bfd36238052c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "minimatch"; range = ">=0.2.4"; }
+      { name = "minimatch"; spec = ">=0.2.4"; }
     ];
+    patchLatest = false;
+    sha1 = "c4c276e52977ae25db5191fe51d008550f15d9bb";
+    tarball = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz";
   }
   {
-    baseName = "redis";
+    name = "redis";
+    spec = "*";
     version = "0.8.4";
-    fullName = "redis-*";
-    hash = "077932b14c6b0a4985b7a41cf20e4495463c693c7b9932ebc46e0144918ff3c3";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "14609f26414e211c31e3cd07dc79b04bf9ff1980";
+    tarball = "http://registry.npmjs.org/redis/-/redis-0.8.4.tgz";
   }
   {
-    baseName = "redis";
+    name = "redis";
+    spec = "0.7.2";
     version = "0.7.2";
-    fullName = "redis-0.7.2";
-    hash = "d56d99e15dd35f6fabf545d9e91545553d60eaeb32ecf5caa1f357458df161ab";
+    topLevel = false;
+    dependencies = [
+      { name = "hiredis"; spec = "*"; }
+    ];
     patchLatest = false;
+    sha1 = "fa557fef4985ab3e3384fdc5be6e2541a0bb49af";
+    tarball = "http://registry.npmjs.org/redis/-/redis-0.7.2.tgz";
+  }
+  {
+    name = "redis";
+    spec = "0.7.3";
+    version = "0.7.3";
     topLevel = false;
     dependencies = [
-      { name = "hiredis"; range = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "ee57b7a44d25ec1594e44365d8165fa7d1d4811a";
+    tarball = "http://registry.npmjs.org/redis/-/redis-0.7.3.tgz";
   }
   {
-    baseName = "redis";
+    name = "redis";
+    spec = ">= 0.6.6";
     version = "0.8.4";
-    fullName = "redis->= 0.6.6";
-    hash = "077932b14c6b0a4985b7a41cf20e4495463c693c7b9932ebc46e0144918ff3c3";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "14609f26414e211c31e3cd07dc79b04bf9ff1980";
+    tarball = "http://registry.npmjs.org/redis/-/redis-0.8.4.tgz";
   }
   {
-    baseName = "reds";
+    name = "reds";
+    spec = "0.1.4";
     version = "0.1.4";
-    fullName = "reds-0.1.4";
-    hash = "3166c2f0f82efc624dac4e9058bc0ffa3bb864499785a746c461b813b90640ac";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "natural"; range = "0.0.69"; }
-      { name = "redis"; range = ">= 0.6.6"; }
+      { name = "natural"; spec = "0.0.69"; }
+      { name = "redis"; spec = ">= 0.6.6"; }
     ];
+    patchLatest = false;
+    sha1 = "a97819180c30f6ecd01cad03cecb574eaabb4bee";
+    tarball = "http://registry.npmjs.org/reds/-/reds-0.1.4.tgz";
   }
   {
-    baseName = "regexp-clone";
+    name = "regexp-clone";
+    spec = "0.0.1";
     version = "0.0.1";
-    fullName = "regexp-clone-0.0.1";
-    hash = "e11276212cce9fa15aa07276b800f750ec7d9c25e76ace7cf07f3e713d6d79e0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
+    tarball = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
+  }
+  {
+    name = "request";
+    spec = "2";
+    version = "2.25.0";
     topLevel = false;
     dependencies = [
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~5.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.10.0"; }
+      { name = "hawk"; spec = "~1.0.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "~0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+    tarball = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
   }
   {
-    baseName = "request";
-    version = "2.21.0";
-    fullName = "request-2";
-    hash = "fe31c3119bc4423f07aa7c9849cb642d5ad22bdf2a2700eab56fb83fa8ed429c";
+    name = "request";
+    spec = "2 >=2.14";
+    version = "2.25.0";
+    topLevel = false;
+    dependencies = [
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~5.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.10.0"; }
+      { name = "hawk"; spec = "~1.0.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "~0.1.0"; }
+    ];
     patchLatest = false;
+    sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+    tarball = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
+  }
+  {
+    name = "request";
+    spec = "2 >=2.20.0";
+    version = "2.25.0";
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "~0.6.0"; }
-      { name = "json-stringify-safe"; range = "~4.0.0"; }
-      { name = "forever-agent"; range = "~0.5.0"; }
-      { name = "tunnel-agent"; range = "~0.3.0"; }
-      { name = "http-signature"; range = "~0.9.11"; }
-      { name = "hawk"; range = "~0.13.0"; }
-      { name = "aws-sign"; range = "~0.3.0"; }
-      { name = "oauth-sign"; range = "~0.3.0"; }
-      { name = "cookie-jar"; range = "~0.3.0"; }
-      { name = "node-uuid"; range = "~1.4.0"; }
-      { name = "mime"; range = "~1.2.9"; }
-      { name = "form-data"; range = "0.0.8"; }
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~5.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.10.0"; }
+      { name = "hawk"; spec = "~1.0.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "~0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+    tarball = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
   }
   {
-    baseName = "request";
+    name = "request";
+    spec = "2.16.x";
     version = "2.16.6";
-    fullName = "request-2.16.x";
-    hash = "9424cb952b4c5723678d0c5a6daf3ea6fa76ccad4cbd175f0a489dc54c6e1453";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "form-data"; range = "~0.0.3"; }
-      { name = "mime"; range = "~1.2.7"; }
-      { name = "hawk"; range = "~0.10.2"; }
-      { name = "node-uuid"; range = "~1.4.0"; }
-      { name = "cookie-jar"; range = "~0.2.0"; }
-      { name = "aws-sign"; range = "~0.2.0"; }
-      { name = "oauth-sign"; range = "~0.2.0"; }
-      { name = "forever-agent"; range = "~0.2.0"; }
-      { name = "tunnel-agent"; range = "~0.2.0"; }
-      { name = "json-stringify-safe"; range = "~3.0.0"; }
-      { name = "qs"; range = "~0.5.4"; }
+      { name = "form-data"; spec = "~0.0.3"; }
+      { name = "mime"; spec = "~1.2.7"; }
+      { name = "hawk"; spec = "~0.10.2"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "cookie-jar"; spec = "~0.2.0"; }
+      { name = "aws-sign"; spec = "~0.2.0"; }
+      { name = "oauth-sign"; spec = "~0.2.0"; }
+      { name = "forever-agent"; spec = "~0.2.0"; }
+      { name = "tunnel-agent"; spec = "~0.2.0"; }
+      { name = "json-stringify-safe"; spec = "~3.0.0"; }
+      { name = "qs"; spec = "~0.5.4"; }
     ];
+    patchLatest = false;
+    sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
+    tarball = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
   }
   {
-    baseName = "request";
+    name = "request";
+    spec = "2.9.x";
     version = "2.9.203";
-    fullName = "request-2.9.x";
-    hash = "2af8f83a63c7227383fbdd6114e470e0921af86a037c4e82f42883120f35f836";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "6c1711a5407fb94a114219563e44145bcbf4723a";
+    tarball = "http://registry.npmjs.org/request/-/request-2.9.203.tgz";
+  }
+  {
+    name = "request";
+    spec = "~2";
+    version = "2.25.0";
     topLevel = false;
     dependencies = [
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~5.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.10.0"; }
+      { name = "hawk"; spec = "~1.0.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "~0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+    tarball = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
   }
   {
-    baseName = "request";
+    name = "request";
+    spec = "~2.21.0";
     version = "2.21.0";
-    fullName = "request-~2";
-    hash = "fe31c3119bc4423f07aa7c9849cb642d5ad22bdf2a2700eab56fb83fa8ed429c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "~0.6.0"; }
-      { name = "json-stringify-safe"; range = "~4.0.0"; }
-      { name = "forever-agent"; range = "~0.5.0"; }
-      { name = "tunnel-agent"; range = "~0.3.0"; }
-      { name = "http-signature"; range = "~0.9.11"; }
-      { name = "hawk"; range = "~0.13.0"; }
-      { name = "aws-sign"; range = "~0.3.0"; }
-      { name = "oauth-sign"; range = "~0.3.0"; }
-      { name = "cookie-jar"; range = "~0.3.0"; }
-      { name = "node-uuid"; range = "~1.4.0"; }
-      { name = "mime"; range = "~1.2.9"; }
-      { name = "form-data"; range = "0.0.8"; }
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~4.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.9.11"; }
+      { name = "hawk"; spec = "~0.13.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "0.0.8"; }
     ];
+    patchLatest = false;
+    sha1 = "5728ab9c45e5a87c99daccd530298b6673a868d7";
+    tarball = "http://registry.npmjs.org/request/-/request-2.21.0.tgz";
   }
   {
-    baseName = "restify";
+    name = "restify";
+    spec = "2.4.1";
     version = "2.4.1";
-    fullName = "restify-2.4.1";
-    hash = "b46ed86ef17f1896a4dd961de8cc8ec96b57b7f44ef7421f3804764289f5b563";
+    topLevel = false;
+    dependencies = [
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "backoff"; spec = "2.1.0"; }
+      { name = "bunyan"; spec = "0.21.1"; }
+      { name = "deep-equal"; spec = "0.0.0"; }
+      { name = "formidable"; spec = "1.0.13"; }
+      { name = "http-signature"; spec = "0.9.11"; }
+      { name = "keep-alive-agent"; spec = "0.0.1"; }
+      { name = "lru-cache"; spec = "2.3.0"; }
+      { name = "mime"; spec = "1.2.9"; }
+      { name = "negotiator"; spec = "0.2.5"; }
+      { name = "node-uuid"; spec = "1.4.0"; }
+      { name = "once"; spec = "1.1.1"; }
+      { name = "qs"; spec = "0.5.5"; }
+      { name = "semver"; spec = "1.1.4"; }
+      { name = "spdy"; spec = "1.7.1"; }
+      { name = "verror"; spec = "1.3.6"; }
+      { name = "dtrace-provider"; spec = "0.2.8"; }
+    ];
+    patchLatest = false;
+    sha1 = "35790a052bd0927e7f6a06cc3d079e56fabc9371";
+    tarball = "http://registry.npmjs.org/restify/-/restify-2.4.1.tgz";
+  }
+  {
+    name = "retry";
+    spec = "0.6.0";
+    version = "0.6.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
+    tarball = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
+  }
+  {
+    name = "retry";
+    spec = "~0.6.0";
+    version = "0.6.0";
     topLevel = false;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "backoff"; range = "2.1.0"; }
-      { name = "bunyan"; range = "0.21.1"; }
-      { name = "deep-equal"; range = "0.0.0"; }
-      { name = "formidable"; range = "1.0.13"; }
-      { name = "http-signature"; range = "0.9.11"; }
-      { name = "keep-alive-agent"; range = "0.0.1"; }
-      { name = "lru-cache"; range = "2.3.0"; }
-      { name = "mime"; range = "1.2.9"; }
-      { name = "negotiator"; range = "0.2.5"; }
-      { name = "node-uuid"; range = "1.4.0"; }
-      { name = "once"; range = "1.1.1"; }
-      { name = "qs"; range = "0.5.5"; }
-      { name = "semver"; range = "1.1.4"; }
-      { name = "spdy"; range = "1.7.1"; }
-      { name = "verror"; range = "1.3.6"; }
-      { name = "dtrace-provider"; range = "0.2.8"; }
     ];
+    patchLatest = false;
+    sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
+    tarball = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
   }
   {
-    baseName = "revalidator";
+    name = "revalidator";
+    spec = "0.1.x";
     version = "0.1.5";
-    fullName = "revalidator-0.1.x";
-    hash = "54938a414b54882f9459e93b9bfd5d267c41985c1191a9a913c713e369ec639e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "205bc02e4186e63e82a0837498f29ba287be3861";
+    tarball = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.5.tgz";
   }
   {
-    baseName = "rimraf";
+    name = "rimraf";
+    spec = "1.x.x";
     version = "1.0.9";
-    fullName = "rimraf-1.x.x";
-    hash = "3ef93e5f75d1fc4778b8f5409e07c72510ee2f86c926abe4e9acff9825f14c5b";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "be4801ff76c2ba6f1c50c78e9700eb1d21f239f1";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz";
+  }
+  {
+    name = "rimraf";
+    spec = "2";
+    version = "2.2.2";
     topLevel = false;
     dependencies = [
+      { name = "graceful-fs"; spec = "~2"; }
     ];
+    patchLatest = false;
+    sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
   }
   {
-    baseName = "rimraf";
-    version = "2.2.0";
-    fullName = "rimraf-2";
-    hash = "4d250a91e5da8f0e839647149268d3682c868a65e920477ff5baae26591ebeb2";
+    name = "rimraf";
+    spec = "2.x.x";
+    version = "2.2.2";
+    topLevel = false;
+    dependencies = [
+      { name = "graceful-fs"; spec = "~2"; }
+    ];
     patchLatest = false;
+    sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
+  }
+  {
+    name = "rimraf";
+    spec = "~2";
+    version = "2.2.2";
     topLevel = false;
     dependencies = [
-      { name = "graceful-fs"; range = "~1"; }
+      { name = "graceful-fs"; spec = "~2"; }
     ];
+    patchLatest = false;
+    sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
   }
   {
-    baseName = "rimraf";
+    name = "rimraf";
+    spec = "~2.1.4";
     version = "2.1.4";
-    fullName = "rimraf-~2.1.4";
-    hash = "093154365aab3c09aea8e83dda7c5a7fd785c787ebbf1fcdc415cb5f74d1acac";
+    topLevel = false;
+    dependencies = [
+      { name = "graceful-fs"; spec = "~1"; }
+    ];
     patchLatest = false;
+    sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
+  }
+  {
+    name = "rimraf";
+    spec = "~2.2.0";
+    version = "2.2.2";
     topLevel = false;
     dependencies = [
-      { name = "graceful-fs"; range = "~1"; }
+      { name = "graceful-fs"; spec = "~2"; }
     ];
+    patchLatest = false;
+    sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
   }
   {
-    baseName = "s3http";
+    name = "runforcover";
+    spec = "~0.0.2";
     version = "0.0.2";
-    fullName = "s3http-*";
-    hash = "03cbaa20c8920371c94333d6424c3d3b09824d1c6e30a9e1567805f53d1cd16d";
+    topLevel = false;
+    dependencies = [
+      { name = "bunker"; spec = "0.1.X"; }
+    ];
     patchLatest = false;
+    sha1 = "344f057d8d45d33aebc6cc82204678f69c4857cc";
+    tarball = "http://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz";
+  }
+  {
+    name = "s3http";
+    spec = "*";
+    version = "0.0.2";
     topLevel = true;
     dependencies = [
-      { name = "aws-sdk"; range = ">=1.2.0 <2"; }
-      { name = "commander"; range = "0.5.1"; }
-      { name = "http-auth"; range = "1.2.7"; }
+      { name = "aws-sdk"; spec = ">=1.2.0 <2"; }
+      { name = "commander"; spec = "0.5.1"; }
+      { name = "http-auth"; spec = "1.2.7"; }
     ];
+    patchLatest = false;
+    sha1 = "e0c8bdee66981c6ddef2dfc41bb1fe51765984e5";
+    tarball = "http://registry.npmjs.org/s3http/-/s3http-0.0.2.tgz";
   }
   {
-    baseName = "sax";
+    name = "sax";
+    spec = "0.5.x";
     version = "0.5.4";
-    fullName = "sax-0.5.x";
-    hash = "5c4f074b559f56a7170663142e4ccbcf8cbef229ad7eb787b6c6e0b79ddb936a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "a3a4e1a9cf182bb547156c5232a49a1c3732ff7d";
+    tarball = "http://registry.npmjs.org/sax/-/sax-0.5.4.tgz";
   }
   {
-    baseName = "sax";
+    name = "sax";
+    spec = ">=0.4.2";
     version = "0.5.4";
-    fullName = "sax->=0.4.2";
-    hash = "5c4f074b559f56a7170663142e4ccbcf8cbef229ad7eb787b6c6e0b79ddb936a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "a3a4e1a9cf182bb547156c5232a49a1c3732ff7d";
+    tarball = "http://registry.npmjs.org/sax/-/sax-0.5.4.tgz";
   }
   {
-    baseName = "semver";
-    version = "2.0.8";
-    fullName = "semver-*";
-    hash = "7eefaea9185bc43025725a55179425f04abc80c33f9d90b10385e0bf54710876";
-    patchLatest = false;
+    name = "semver";
+    spec = "*";
+    version = "2.0.11";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
   }
   {
-    baseName = "semver";
-    version = "1.1.4";
-    fullName = "semver-1";
-    hash = "59c0180521d0d4cee57caa5f6ef190500b04099bfa5786edb3e21e364ae8e989";
-    patchLatest = false;
+    name = "semver";
+    spec = "1.1.0";
+    version = "1.1.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "da9b9c837e31550a7c928622bc2381de7dd7a53e";
+    tarball = "http://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
   }
   {
-    baseName = "semver";
+    name = "semver";
+    spec = "1.1.4";
     version = "1.1.4";
-    fullName = "semver-1.1.4";
-    hash = "59c0180521d0d4cee57caa5f6ef190500b04099bfa5786edb3e21e364ae8e989";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
+    tarball = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
+  }
+  {
+    name = "semver";
+    spec = "2";
+    version = "2.0.11";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
   }
   {
-    baseName = "semver";
-    version = "2.0.8";
-    fullName = "semver-~2.0.7";
-    hash = "7eefaea9185bc43025725a55179425f04abc80c33f9d90b10385e0bf54710876";
+    name = "semver";
+    spec = "2.x";
+    version = "2.0.11";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+  }
+  {
+    name = "semver";
+    spec = ">=2.0.10 <3.0.0";
+    version = "2.0.11";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
   }
   {
-    baseName = "send";
-    version = "0.1.1";
-    fullName = "send-*";
-    hash = "4d237af8bc86148952d0577bed44bd41928a4422c9a6e25e45fc35103aa6e872";
+    name = "semver";
+    spec = "~2.0.5";
+    version = "2.0.11";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+  }
+  {
+    name = "semver";
+    spec = "~2.0.7";
+    version = "2.0.11";
     topLevel = false;
     dependencies = [
-      { name = "debug"; range = "*"; }
-      { name = "mime"; range = "~1.2.9"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "range-parser"; range = "0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
   }
   {
-    baseName = "send";
-    version = "0.1.0";
-    fullName = "send-0.1.0";
-    hash = "28b5a6ec41b5072521eb792cc901b92cdbb6b743c578d7008727dbbd3eb717de";
+    name = "semver";
+    spec = "~2.0.8";
+    version = "2.0.11";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+  }
+  {
+    name = "send";
+    spec = "*";
+    version = "0.1.3";
     topLevel = false;
     dependencies = [
-      { name = "debug"; range = "*"; }
-      { name = "mime"; range = "1.2.6"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "range-parser"; range = "0.0.4"; }
+      { name = "debug"; spec = "*"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "range-parser"; spec = "0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "a7875daa6802d31e2ce32fdad98d3664c51ecea3";
+    tarball = "http://registry.npmjs.org/send/-/send-0.1.3.tgz";
   }
   {
-    baseName = "send";
-    version = "0.1.1";
-    fullName = "send-0.1.1";
-    hash = "4d237af8bc86148952d0577bed44bd41928a4422c9a6e25e45fc35103aa6e872";
+    name = "send";
+    spec = "0.1.0";
+    version = "0.1.0";
+    topLevel = false;
+    dependencies = [
+      { name = "debug"; spec = "*"; }
+      { name = "mime"; spec = "1.2.6"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "range-parser"; spec = "0.0.4"; }
+    ];
     patchLatest = false;
+    sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
+    tarball = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
+  }
+  {
+    name = "send";
+    spec = "0.1.3";
+    version = "0.1.3";
     topLevel = false;
     dependencies = [
-      { name = "debug"; range = "*"; }
-      { name = "mime"; range = "~1.2.9"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "range-parser"; range = "0.0.4"; }
+      { name = "debug"; spec = "*"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "range-parser"; spec = "0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "a7875daa6802d31e2ce32fdad98d3664c51ecea3";
+    tarball = "http://registry.npmjs.org/send/-/send-0.1.3.tgz";
   }
   {
-    baseName = "sequence";
+    name = "sequence";
+    spec = ">= 2.2.1";
     version = "2.2.1";
-    fullName = "sequence->= 2.2.1";
-    hash = "f14e1262b6a234acc3f50fdd5bd28c02f0cc8cbf882922b5af994babf4206b62";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "7f5617895d44351c0a047e764467690490a16b03";
+    tarball = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
+  }
+  {
+    name = "sha";
+    spec = "~1.2.1";
+    version = "1.2.1";
     topLevel = false;
     dependencies = [
+      { name = "graceful-fs"; spec = "2"; }
+      { name = "readable-stream"; spec = "1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "30bd5f770852fa6ac2b110ab3698fd4840f7f1cd";
+    tarball = "http://registry.npmjs.org/sha/-/sha-1.2.1.tgz";
   }
   {
-    baseName = "shelljs";
+    name = "shelljs";
+    spec = "0.1.x";
     version = "0.1.4";
-    fullName = "shelljs-0.1.x";
-    hash = "21a6f3dc5eaeb1c10efbe62e31aeb6762241f707fb1fdcda4766c8bccde3eaf0";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "dfbbe78d56c3c0168d2fb79e10ecd1dbcb07ec0e";
+    tarball = "http://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz";
   }
   {
-    baseName = "should";
+    name = "should";
+    spec = "*";
     version = "1.2.2";
-    fullName = "should-*";
-    hash = "af7916b687bf54b95bd8ff2837f430ab2758f1db22b5cde5b4ae30dac472f330";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0f03f775066d9ea2632690c917b12824fcc1d582";
+    tarball = "http://registry.npmjs.org/should/-/should-1.2.2.tgz";
   }
   {
-    baseName = "sigmund";
+    name = "sigmund";
+    spec = "~1.0.0";
     version = "1.0.0";
-    fullName = "sigmund-~1.0.0";
-    hash = "ddf823295db284ac4720b9d40f381d7375dc0b05881b98269346b33fe9835e25";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+    tarball = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+  }
+  {
+    name = "simplesmtp";
+    spec = ">= 0.1.22";
+    version = "0.3.4";
     topLevel = false;
     dependencies = [
+      { name = "rai"; spec = "~0.1"; }
+      { name = "xoauth2"; spec = "~0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "fe8bfe63c2f96e0bbe54bd373a0dc0d09b594133";
+    tarball = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.4.tgz";
   }
   {
-    baseName = "sliced";
+    name = "sliced";
+    spec = "0.0.3";
     version = "0.0.3";
-    fullName = "sliced-0.0.3";
-    hash = "ce5765e669217d4c9500d79d6ffaf8d22b6507e826fd1dc0bb05bb746ab6227c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4f0bac2171eb17162c3ba6df81f5cf040f7c7e50";
+    tarball = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
   }
   {
-    baseName = "sliced";
+    name = "sliced";
+    spec = "0.0.4";
     version = "0.0.4";
-    fullName = "sliced-0.0.4";
-    hash = "b9320aec8a9c5796d34b4c95b1289912548fcc8682fe9fed09749847b7dc0d85";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "34f89a6db1f31fa525f5a570f5bcf877cf0955ee";
+    tarball = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
+  }
+  {
+    name = "slide";
+    spec = "*";
+    version = "1.1.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2b23f1949b369ed61d22bd6570ff0320302fc8df";
+    tarball = "http://registry.npmjs.org/slide/-/slide-1.1.4.tgz";
   }
   {
-    baseName = "smartdc";
-    version = "7.0.0";
-    fullName = "smartdc-*";
-    hash = "add769b05ecef4ea657d7bc473d96ee3e67b8ad8bc77077120bd5ae1efe94911";
+    name = "slide";
+    spec = "~1.1.3";
+    version = "1.1.4";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "2b23f1949b369ed61d22bd6570ff0320302fc8df";
+    tarball = "http://registry.npmjs.org/slide/-/slide-1.1.4.tgz";
+  }
+  {
+    name = "slide";
+    spec = "~1.1.4";
+    version = "1.1.4";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "2b23f1949b369ed61d22bd6570ff0320302fc8df";
+    tarball = "http://registry.npmjs.org/slide/-/slide-1.1.4.tgz";
+  }
+  {
+    name = "smartdc";
+    spec = "*";
+    version = "7.0.0";
     topLevel = true;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "lru-cache"; range = "2.2.0"; }
-      { name = "nopt"; range = "2.0.0"; }
-      { name = "restify"; range = "2.4.1"; }
-      { name = "bunyan"; range = "0.21.1"; }
-      { name = "clone"; range = "0.1.6"; }
-      { name = "smartdc-auth"; range = "1.0.0"; }
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "lru-cache"; spec = "2.2.0"; }
+      { name = "nopt"; spec = "2.0.0"; }
+      { name = "restify"; spec = "2.4.1"; }
+      { name = "bunyan"; spec = "0.21.1"; }
+      { name = "clone"; spec = "0.1.6"; }
+      { name = "smartdc-auth"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "367ce274e10e3400e19ec62697f9b5ecb3f25c39";
+    tarball = "http://registry.npmjs.org/smartdc/-/smartdc-7.0.0.tgz";
   }
   {
-    baseName = "smartdc-auth";
+    name = "smartdc-auth";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "smartdc-auth-1.0.0";
-    hash = "7611510ac66507398f6e371b25068c7ad193ecd69a3031fdfca0e3c652cfdcbf";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "clone"; range = "0.1.5"; }
-      { name = "ssh-agent"; range = "0.2.1"; }
-      { name = "once"; range = "1.1.1"; }
-      { name = "vasync"; range = "1.3.3"; }
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "clone"; spec = "0.1.5"; }
+      { name = "ssh-agent"; spec = "0.2.1"; }
+      { name = "once"; spec = "1.1.1"; }
+      { name = "vasync"; spec = "1.3.3"; }
     ];
+    patchLatest = false;
+    sha1 = "9b8569b914f25da53816fe158f80b6571470f270";
+    tarball = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.0.tgz";
   }
   {
-    baseName = "sntp";
+    name = "sntp";
+    spec = "0.1.x";
     version = "0.1.4";
-    fullName = "sntp-0.1.x";
-    hash = "5fc290630e8a4599dfb1ee4ed67fdc3c94fc97c6c0cbbc188691669ff55dcb4f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.7.x"; }
+      { name = "hoek"; spec = "0.7.x"; }
     ];
+    patchLatest = false;
+    sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
+    tarball = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
   }
   {
-    baseName = "sntp";
+    name = "sntp";
+    spec = "0.2.x";
     version = "0.2.4";
-    fullName = "sntp-0.2.x";
-    hash = "1f91a8d60fd48751e4b169885f530012ce2a8223ed29006abcee175f2b10d779";
+    topLevel = false;
+    dependencies = [
+      { name = "hoek"; spec = "0.9.x"; }
+    ];
     patchLatest = false;
+    sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+    tarball = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+  }
+  {
+    name = "socket.io";
+    spec = "0.9.14";
+    version = "0.9.14";
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.9.x"; }
+      { name = "socket.io-client"; spec = "0.9.11"; }
+      { name = "policyfile"; spec = "0.0.4"; }
+      { name = "base64id"; spec = "0.1.0"; }
+      { name = "redis"; spec = "0.7.3"; }
     ];
+    patchLatest = false;
+    sha1 = "81af80ebf3ee8f7f6e71b1495db91f8fa53ff667";
+    tarball = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
   }
   {
-    baseName = "sockjs";
-    version = "0.3.7";
-    fullName = "sockjs-*";
-    hash = "711a6c41e6a7b2a9cd0dc44abc7407f09729d400be450d94887391997b07a1a5";
+    name = "socket.io-client";
+    spec = "0.9.11";
+    version = "0.9.11";
+    topLevel = false;
+    dependencies = [
+      { name = "uglify-js"; spec = "1.2.5"; }
+      { name = "ws"; spec = "0.4.x"; }
+      { name = "xmlhttprequest"; spec = "1.4.2"; }
+      { name = "active-x-obfuscator"; spec = "0.0.1"; }
+    ];
     patchLatest = false;
+    sha1 = "94defc1b29e0d8a8fe958c1cf33300f68d8a19c7";
+    tarball = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
+  }
+  {
+    name = "sockjs";
+    spec = "*";
+    version = "0.3.7";
     topLevel = true;
     dependencies = [
-      { name = "node-uuid"; range = "1.3.3"; }
-      { name = "faye-websocket"; range = "0.4.4"; }
+      { name = "node-uuid"; spec = "1.3.3"; }
+      { name = "faye-websocket"; spec = "0.4.4"; }
     ];
+    patchLatest = false;
+    sha1 = "2950e0586d8a9d3044958a831ade68db197749cb";
+    tarball = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.7.tgz";
   }
   {
-    baseName = "source-map";
-    version = "0.1.25";
-    fullName = "source-map-*";
-    hash = "3ef1ff114aa3504871ad8b16a38ac744b293c6d8f37b0b6e673b44592a08626d";
-    patchLatest = false;
+    name = "source-map";
+    spec = "*";
+    version = "0.1.27";
     topLevel = true;
     dependencies = [
-      { name = "amdefine"; range = ">=0.0.4"; }
+      { name = "amdefine"; spec = ">=0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "f114e06a8b5c05cbc51aa1fa600e728162455eda";
+    tarball = "http://registry.npmjs.org/source-map/-/source-map-0.1.27.tgz";
   }
   {
-    baseName = "source-map";
-    version = "0.1.25";
-    fullName = "source-map-~0.1.7";
-    hash = "3ef1ff114aa3504871ad8b16a38ac744b293c6d8f37b0b6e673b44592a08626d";
-    patchLatest = false;
+    name = "source-map";
+    spec = "~0.1.7";
+    version = "0.1.27";
     topLevel = false;
     dependencies = [
-      { name = "amdefine"; range = ">=0.0.4"; }
+      { name = "amdefine"; spec = ">=0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "f114e06a8b5c05cbc51aa1fa600e728162455eda";
+    tarball = "http://registry.npmjs.org/source-map/-/source-map-0.1.27.tgz";
   }
   {
-    baseName = "spdy";
+    name = "spdy";
+    spec = "1.7.1";
     version = "1.7.1";
-    fullName = "spdy-1.7.1";
-    hash = "d90516bb6b6cf39fb52face8ec332be98de116ce84d7d400fbb19529a30fa678";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4fde77e602b20c4ecc39ee8619373dd9bf669152";
+    tarball = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz";
   }
   {
-    baseName = "ssh-agent";
+    name = "ssh-agent";
+    spec = "0.2.1";
     version = "0.2.1";
-    fullName = "ssh-agent-0.2.1";
-    hash = "b420d5816d4a8a242a8d1454f064954eab8fec9856310e867a2e7f1b2432f934";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "ctype"; range = "0.5.0"; }
-      { name = "posix-getopt"; range = "1.0.0"; }
+      { name = "ctype"; spec = "0.5.0"; }
+      { name = "posix-getopt"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "3044e9eaeca88a9e6971dd7deb19bdcc20012929";
+    tarball = "http://registry.npmjs.org/ssh-agent/-/ssh-agent-0.2.1.tgz";
   }
   {
-    baseName = "stack-trace";
-    version = "0.0.6";
-    fullName = "stack-trace-0.0.x";
-    hash = "398b3307d34c25b9249049229cd4a340ce8587dc3e3ab5cec830af19031c10a4";
-    patchLatest = false;
+    name = "stack-trace";
+    spec = "0.0.x";
+    version = "0.0.7";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff";
+    tarball = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
   }
   {
-    baseName = "stream-counter";
+    name = "stream-counter";
+    spec = "~0.1.0";
     version = "0.1.0";
-    fullName = "stream-counter-~0.1.0";
-    hash = "8c51bd894bf905ec607654a1d7d3fe4fdc4763ccec4d37723cb8d0a0fd7cb69c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "readable-stream"; range = "~1.0.2"; }
+      { name = "readable-stream"; spec = "~1.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "a035e429361fb57f361606e17fcd8a8b9677327b";
+    tarball = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.1.0.tgz";
   }
   {
-    baseName = "stream-splitter-transform";
+    name = "stream-splitter-transform";
+    spec = "*";
     version = "0.0.3";
-    fullName = "stream-splitter-transform-*";
-    hash = "613ca5994f2fe645cbb21dcac24f034ed8546d6cc49097d8ee0b4501e6d9a887";
+    topLevel = true;
+    dependencies = [
+      { name = "buffertools"; spec = ">=1.1.1 <2.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "5ccd3bd497ffee4c2fc7c1cc9d7b697b54c42eef";
+    tarball = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.3.tgz";
+  }
+  {
+    name = "stylus";
+    spec = "*";
+    version = "0.34.1";
     topLevel = true;
     dependencies = [
-      { name = "buffertools"; range = ">=1.1.1 <2.0.0"; }
+      { name = "cssom"; spec = "0.2.x"; }
+      { name = "mkdirp"; spec = "0.3.x"; }
+      { name = "debug"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "937d8502a3be4e617d5ad493f204c70a93d95b14";
+    tarball = "http://registry.npmjs.org/stylus/-/stylus-0.34.1.tgz";
   }
   {
-    baseName = "stylus";
+    name = "stylus";
+    spec = "0.27.2";
     version = "0.27.2";
-    fullName = "stylus-0.27.2";
-    hash = "8e18cc51592e04e42096e324d3409a132dbb3b40b0a606a746c4c57268bb63ea";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "cssom"; range = "0.2.x"; }
-      { name = "mkdirp"; range = "0.3.x"; }
-      { name = "debug"; range = "*"; }
+      { name = "cssom"; spec = "0.2.x"; }
+      { name = "mkdirp"; spec = "0.3.x"; }
+      { name = "debug"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "1121f7f8cd152b0f8a4aa6a24a9adea10c825117";
+    tarball = "http://registry.npmjs.org/stylus/-/stylus-0.27.2.tgz";
   }
   {
-    baseName = "superagent";
+    name = "superagent";
+    spec = "0.15.1";
     version = "0.15.1";
-    fullName = "superagent-0.15.1";
-    hash = "8306a3c7476e9f9d61ffe33117ffcf2a4fba6c9fcc59a2b8eee059f57d7d5614";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "0.6.5"; }
-      { name = "formidable"; range = "1.0.9"; }
-      { name = "mime"; range = "1.2.5"; }
-      { name = "emitter-component"; range = "1.0.0"; }
-      { name = "methods"; range = "0.0.1"; }
-      { name = "cookiejar"; range = "1.3.0"; }
-      { name = "debug"; range = "~0.7.2"; }
+      { name = "qs"; spec = "0.6.5"; }
+      { name = "formidable"; spec = "1.0.9"; }
+      { name = "mime"; spec = "1.2.5"; }
+      { name = "emitter-component"; spec = "1.0.0"; }
+      { name = "methods"; spec = "0.0.1"; }
+      { name = "cookiejar"; spec = "1.3.0"; }
+      { name = "debug"; spec = "~0.7.2"; }
     ];
+    patchLatest = false;
+    sha1 = "f0df9954c2b90f29e4ae54ad308e4a2b432cc56a";
+    tarball = "http://registry.npmjs.org/superagent/-/superagent-0.15.1.tgz";
   }
   {
-    baseName = "supertest";
+    name = "supertest";
+    spec = "*";
     version = "0.7.1";
-    fullName = "supertest-*";
-    hash = "85246177740d16565f6ed4a932f0c85aca55c897ae352e3bb404da0cdad60a16";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "superagent"; range = "0.15.1"; }
-      { name = "methods"; range = "0.0.1"; }
+      { name = "superagent"; spec = "0.15.1"; }
+      { name = "methods"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "349a65a8bfb5207250658f71761279ad3a671d88";
+    tarball = "http://registry.npmjs.org/supertest/-/supertest-0.7.1.tgz";
   }
   {
-    baseName = "swig";
+    name = "swig";
+    spec = "*";
     version = "0.14.0";
-    fullName = "swig-*";
-    hash = "9eeafb591606008c7ab33501ebfdb6ed80830cca5736513c6c5874ded65cfb3f";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "underscore"; range = ">=1.1.7"; }
+      { name = "underscore"; spec = ">=1.1.7"; }
     ];
+    patchLatest = false;
+    sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
+    tarball = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
   }
   {
-    baseName = "sylvester";
+    name = "sylvester";
+    spec = ">= 0.0.12";
     version = "0.0.21";
-    fullName = "sylvester->= 0.0.12";
-    hash = "8b97514fbb01de0f73b9104091bb79e835d227eb4c2ca88a843696b22f347022";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
+    tarball = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
   }
   {
-    baseName = "sylvester";
+    name = "sylvester";
+    spec = ">= 0.0.8";
     version = "0.0.21";
-    fullName = "sylvester->= 0.0.8";
-    hash = "8b97514fbb01de0f73b9104091bb79e835d227eb4c2ca88a843696b22f347022";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
+    tarball = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
+  }
+  {
+    name = "tap";
+    spec = ">=0.2.3";
+    version = "0.4.3";
     topLevel = false;
     dependencies = [
+      { name = "inherits"; spec = "*"; }
+      { name = "yamlish"; spec = "*"; }
+      { name = "slide"; spec = "*"; }
+      { name = "runforcover"; spec = "~0.0.2"; }
+      { name = "nopt"; spec = "~2"; }
+      { name = "mkdirp"; spec = "~0.3"; }
+      { name = "difflet"; spec = "~0.2.0"; }
+      { name = "deep-equal"; spec = "~0.0.0"; }
+      { name = "buffer-equal"; spec = "~0.0.0"; }
+      { name = "glob"; spec = "~3.2.1"; }
     ];
+    patchLatest = false;
+    sha1 = "5ead7ede530658167fe28e3cdb9b0f96d3cf0c76";
+    tarball = "http://registry.npmjs.org/tap/-/tap-0.4.3.tgz";
   }
   {
-    baseName = "tar";
+    name = "tar";
+    spec = "*";
+    version = "0.1.18";
+    topLevel = true;
+    dependencies = [
+      { name = "inherits"; spec = "2"; }
+      { name = "block-stream"; spec = "*"; }
+      { name = "fstream"; spec = "~0.1.8"; }
+    ];
+    patchLatest = false;
+    sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+    tarball = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
+  }
+  {
+    name = "tar";
+    spec = "0";
+    version = "0.1.18";
+    topLevel = false;
+    dependencies = [
+      { name = "inherits"; spec = "2"; }
+      { name = "block-stream"; spec = "*"; }
+      { name = "fstream"; spec = "~0.1.8"; }
+    ];
+    patchLatest = false;
+    sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+    tarball = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
+  }
+  {
+    name = "tar";
+    spec = "0.1.17";
     version = "0.1.17";
-    fullName = "tar-0";
-    hash = "577832975440eba0a9293244d53fa2c383e5c27ec2f68e3defde0cc23910b978";
+    topLevel = false;
+    dependencies = [
+      { name = "inherits"; spec = "1.x"; }
+      { name = "block-stream"; spec = "*"; }
+      { name = "fstream"; spec = "~0.1.8"; }
+    ];
     patchLatest = false;
+    sha1 = "408c8a95deb8e78a65b59b1a51a333183a32badc";
+    tarball = "http://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
+  }
+  {
+    name = "tar";
+    spec = "~0.1.18";
+    version = "0.1.18";
     topLevel = false;
     dependencies = [
-      { name = "inherits"; range = "1.x"; }
-      { name = "block-stream"; range = "*"; }
-      { name = "fstream"; range = "~0.1.8"; }
+      { name = "inherits"; spec = "2"; }
+      { name = "block-stream"; spec = "*"; }
+      { name = "fstream"; spec = "~0.1.8"; }
     ];
+    patchLatest = false;
+    sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+    tarball = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
   }
   {
-    baseName = "temp";
+    name = "temp";
+    spec = "*";
     version = "0.5.1";
-    fullName = "temp-*";
-    hash = "04bb3c0bde8f3ffab53bc4935b5c1ca306735e4da8844c1dc25e74b0ae8f6540";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "rimraf"; range = "~2.1.4"; }
+      { name = "rimraf"; spec = "~2.1.4"; }
     ];
+    patchLatest = false;
+    sha1 = "77ab19c79aa7b593cbe4fac2441768cad987b8df";
+    tarball = "http://registry.npmjs.org/temp/-/temp-0.5.1.tgz";
   }
   {
-    baseName = "timespan";
+    name = "timespan";
+    spec = "2.0.1";
     version = "2.0.1";
-    fullName = "timespan-2.0.1";
-    hash = "2c9693ac1c16e4bf0061904f487ab5fbf13f3d35817de1575dbfd9eaf85d452c";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "479b45875937e14d0f4be1625f2abd08d801f68a";
+    tarball = "http://registry.npmjs.org/timespan/-/timespan-2.0.1.tgz";
+  }
+  {
+    name = "timezone";
+    spec = "*";
+    version = "0.0.22";
+    topLevel = true;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "933c3d1950224957a349183e124147dd99e182f5";
+    tarball = "http://registry.npmjs.org/timezone/-/timezone-0.0.22.tgz";
+  }
+  {
+    name = "tinycolor";
+    spec = "0.x";
+    version = "0.0.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+    tarball = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
   }
   {
-    baseName = "transformers";
+    name = "transformers";
+    spec = "2.0.1";
     version = "2.0.1";
-    fullName = "transformers-2.0.1";
-    hash = "503430f608716eb2d55764c27f1417e363049aadd08988ad9e26ecb2daa33cb9";
+    topLevel = false;
+    dependencies = [
+      { name = "promise"; spec = "~2.0"; }
+      { name = "css"; spec = "~1.0.8"; }
+      { name = "uglify-js"; spec = "~2.2.5"; }
+    ];
     patchLatest = false;
+    sha1 = "352131dfceb93a7532dc7535a4f142510435a394";
+    tarball = "http://registry.npmjs.org/transformers/-/transformers-2.0.1.tgz";
+  }
+  {
+    name = "traverse";
+    spec = "0.6.x";
+    version = "0.6.3";
     topLevel = false;
     dependencies = [
-      { name = "promise"; range = "~2.0"; }
-      { name = "css"; range = "~1.0.8"; }
-      { name = "uglify-js"; range = "~2.2.5"; }
     ];
+    patchLatest = false;
+    sha1 = "a053ffa1b6179b9240ea16d74bfd604bd6b6e41b";
+    tarball = "http://registry.npmjs.org/traverse/-/traverse-0.6.3.tgz";
   }
   {
-    baseName = "tunnel-agent";
-    version = "0.2.0";
-    fullName = "tunnel-agent-~0.2.0";
-    hash = "d5c7fe6b4cd377ac54ff994f3b53b368fb4c0edafceddcf0e575402aa2451808";
+    name = "traverse";
+    spec = "~0.5.1";
+    version = "0.5.2";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "e203c58d5f7f0e37db6e74c0acb929bb09b61d85";
+    tarball = "http://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz";
+  }
+  {
+    name = "tunnel-agent";
+    spec = "~0.2.0";
+    version = "0.2.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6853c2afb1b2109e45629e492bde35f459ea69e8";
+    tarball = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
   }
   {
-    baseName = "tunnel-agent";
+    name = "tunnel-agent";
+    spec = "~0.3.0";
     version = "0.3.0";
-    fullName = "tunnel-agent-~0.3.0";
-    hash = "5b23c1d29e85143e213ba5aca118419ab42d25774da92e816074a73f423bcabd";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+    tarball = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+  }
+  {
+    name = "uglify-js";
+    spec = "1.2.5";
+    version = "1.2.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b542c2c76f78efb34b200b20177634330ff702b6";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz";
   }
   {
-    baseName = "uglify-js";
+    name = "uglify-js";
+    spec = "2.3.6";
     version = "2.3.6";
-    fullName = "uglify-js-2.3.6";
-    hash = "a361bc8092c8400d99d73d071c46fcfceb7156a557effd82abd8ca8a5c5ad09e";
+    topLevel = false;
+    dependencies = [
+      { name = "async"; spec = "~0.2.6"; }
+      { name = "source-map"; spec = "~0.1.7"; }
+      { name = "optimist"; spec = "~0.3.5"; }
+    ];
     patchLatest = false;
+    sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
+  }
+  {
+    name = "uglify-js";
+    spec = "~1.1.1";
+    version = "1.1.1";
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "~0.2.6"; }
-      { name = "source-map"; range = "~0.1.7"; }
-      { name = "optimist"; range = "~0.3.5"; }
     ];
+    patchLatest = false;
+    sha1 = "ee71a97c4cefd06a1a9b20437f34118982aa035b";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz";
   }
   {
-    baseName = "uglify-js";
+    name = "uglify-js";
+    spec = "~2.2.5";
     version = "2.2.5";
-    fullName = "uglify-js-~2.2.5";
-    hash = "f9d166cda4c881a396b53f8b8892b17bb1bc09ffb531ba1fa16e7bf9022a2ca2";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "source-map"; range = "~0.1.7"; }
-      { name = "optimist"; range = "~0.3.5"; }
+      { name = "source-map"; spec = "~0.1.7"; }
+      { name = "optimist"; spec = "~0.3.5"; }
     ];
+    patchLatest = false;
+    sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
   }
   {
-    baseName = "uglify-js";
+    name = "uglify-js";
+    spec = "~2.3.6";
     version = "2.3.6";
-    fullName = "uglify-js-~2.3.6";
-    hash = "a361bc8092c8400d99d73d071c46fcfceb7156a557effd82abd8ca8a5c5ad09e";
+    topLevel = false;
+    dependencies = [
+      { name = "async"; spec = "~0.2.6"; }
+      { name = "source-map"; spec = "~0.1.7"; }
+      { name = "optimist"; spec = "~0.3.5"; }
+    ];
     patchLatest = false;
+    sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
+  }
+  {
+    name = "uid-number";
+    spec = "0";
+    version = "0.0.3";
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "~0.2.6"; }
-      { name = "source-map"; range = "~0.1.7"; }
-      { name = "optimist"; range = "~0.3.5"; }
     ];
+    patchLatest = false;
+    sha1 = "cefb0fa138d8d8098da71a40a0d04a8327d6e1cc";
+    tarball = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz";
   }
   {
-    baseName = "uid2";
+    name = "uid2";
+    spec = "0.0.2";
     version = "0.0.2";
-    fullName = "uid2-0.0.2";
-    hash = "8a3b12223830ed536ce022271a4059cedfbb21d0f63149742347c4f7fc0ed442";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "107fb155c82c1136620797ed4c88cf2b08f6aab8";
+    tarball = "http://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz";
   }
   {
-    baseName = "underscore";
-    version = "1.4.4";
-    fullName = "underscore-*";
-    hash = "a848a28193850d58d7b98249d70844bc7f35a7d8b6b5ed75e08e829aa6e763d3";
-    patchLatest = false;
+    name = "underscore";
+    spec = "*";
+    version = "1.5.1";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d2bde817d176ffade894ab71458e682a14b86dc9";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.5.1.tgz";
   }
   {
-    baseName = "underscore";
+    name = "underscore";
+    spec = "1.4.x";
     version = "1.4.4";
-    fullName = "underscore-1.4.x";
-    hash = "a848a28193850d58d7b98249d70844bc7f35a7d8b6b5ed75e08e829aa6e763d3";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
   }
   {
-    baseName = "underscore";
-    version = "1.4.4";
-    fullName = "underscore->=1.1.7";
-    hash = "a848a28193850d58d7b98249d70844bc7f35a7d8b6b5ed75e08e829aa6e763d3";
+    name = "underscore";
+    spec = ">=1.1.7";
+    version = "1.5.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "d2bde817d176ffade894ab71458e682a14b86dc9";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.5.1.tgz";
+  }
+  {
+    name = "underscore";
+    spec = ">=1.4.3";
+    version = "1.5.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d2bde817d176ffade894ab71458e682a14b86dc9";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.5.1.tgz";
   }
   {
-    baseName = "underscore";
+    name = "underscore";
+    spec = "~1.4.3";
     version = "1.4.4";
-    fullName = "underscore->=1.4.3";
-    hash = "a848a28193850d58d7b98249d70844bc7f35a7d8b6b5ed75e08e829aa6e763d3";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+  }
+  {
+    name = "underscore.string";
+    spec = "~2.3.1";
+    version = "2.3.3";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
+    tarball = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
   }
   {
-    baseName = "util";
+    name = "util";
+    spec = ">= 0.4.9";
     version = "0.4.9";
-    fullName = "util->= 0.4.9";
-    hash = "30ecc26c9e749650562c1ef20bc3f1a0d8d7c109134b510be34526d1ceae90e5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "events.node"; range = ">= 0.4.0"; }
+      { name = "events.node"; spec = ">= 0.4.0"; }
     ];
+    patchLatest = false;
+    sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
+    tarball = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
   }
   {
-    baseName = "utile";
+    name = "utile";
+    spec = "0.1.7";
     version = "0.1.7";
-    fullName = "utile-0.1.7";
-    hash = "5e5dc150fa657729c288a211389cdf47419b73f4f8b4304a0c84dc584bf804b5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "deep-equal"; range = "*"; }
-      { name = "i"; range = "0.3.x"; }
-      { name = "mkdirp"; range = "0.x.x"; }
-      { name = "ncp"; range = "0.2.x"; }
-      { name = "rimraf"; range = "1.x.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "deep-equal"; spec = "*"; }
+      { name = "i"; spec = "0.3.x"; }
+      { name = "mkdirp"; spec = "0.x.x"; }
+      { name = "ncp"; spec = "0.2.x"; }
+      { name = "rimraf"; spec = "1.x.x"; }
     ];
+    patchLatest = false;
+    sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
+    tarball = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
   }
   {
-    baseName = "utile";
+    name = "utile";
+    spec = "0.1.x";
     version = "0.1.7";
-    fullName = "utile-0.1.x";
-    hash = "5e5dc150fa657729c288a211389cdf47419b73f4f8b4304a0c84dc584bf804b5";
+    topLevel = false;
+    dependencies = [
+      { name = "async"; spec = "0.1.x"; }
+      { name = "deep-equal"; spec = "*"; }
+      { name = "i"; spec = "0.3.x"; }
+      { name = "mkdirp"; spec = "0.x.x"; }
+      { name = "ncp"; spec = "0.2.x"; }
+      { name = "rimraf"; spec = "1.x.x"; }
+    ];
     patchLatest = false;
+    sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
+    tarball = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
+  }
+  {
+    name = "utile";
+    spec = "0.2.x";
+    version = "0.2.0";
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "deep-equal"; range = "*"; }
-      { name = "i"; range = "0.3.x"; }
-      { name = "mkdirp"; range = "0.x.x"; }
-      { name = "ncp"; range = "0.2.x"; }
-      { name = "rimraf"; range = "1.x.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "deep-equal"; spec = "*"; }
+      { name = "i"; spec = "0.3.x"; }
+      { name = "mkdirp"; spec = "0.x.x"; }
+      { name = "ncp"; spec = "0.2.x"; }
+      { name = "rimraf"; spec = "2.x.x"; }
     ];
+    patchLatest = false;
+    sha1 = "91a2423ca2eb3322390e211ee3d71cf4fa193aea";
+    tarball = "http://registry.npmjs.org/utile/-/utile-0.2.0.tgz";
   }
   {
-    baseName = "vasync";
+    name = "vasync";
+    spec = "1.3.3";
     version = "1.3.3";
-    fullName = "vasync-1.3.3";
-    hash = "603d15b81e25b6a634d7ff2025487b3460a60d0d7e1a1ed02e66faff5ef7b699";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "jsprim"; range = "0.3.0"; }
-      { name = "verror"; range = "1.1.0"; }
+      { name = "jsprim"; spec = "0.3.0"; }
+      { name = "verror"; spec = "1.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "84917680717020b67e043902e63bc143174c8728";
+    tarball = "http://registry.npmjs.org/vasync/-/vasync-1.3.3.tgz";
   }
   {
-    baseName = "verror";
+    name = "verror";
+    spec = "1.1.0";
     version = "1.1.0";
-    fullName = "verror-1.1.0";
-    hash = "ac0fc2dfbcdfc3440c281cf272d902ec74bf2abdf2f9c9eb5c0c3505dc6646d7";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "extsprintf"; range = "1.0.0"; }
+      { name = "extsprintf"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "2a4b4eb14a207051e75a6f94ee51315bf173a1b0";
+    tarball = "http://registry.npmjs.org/verror/-/verror-1.1.0.tgz";
   }
   {
-    baseName = "verror";
+    name = "verror";
+    spec = "1.3.3";
     version = "1.3.3";
-    fullName = "verror-1.3.3";
-    hash = "9b3e9307cb5a788c1a4c6706ed32582893ffcd64dc55a14a153be1ea15bb916a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "extsprintf"; range = "1.0.0"; }
+      { name = "extsprintf"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "8a6a4ac3a8c774b6f687fece49bdffd78552e2cd";
+    tarball = "http://registry.npmjs.org/verror/-/verror-1.3.3.tgz";
   }
   {
-    baseName = "verror";
+    name = "verror";
+    spec = "1.3.6";
     version = "1.3.6";
-    fullName = "verror-1.3.6";
-    hash = "96135dd5fef7b75bfe26513658ca3fc1ab38e17a9bec522fc5ec6e54b6b63f89";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "extsprintf"; range = "1.0.2"; }
+      { name = "extsprintf"; spec = "1.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
+    tarball = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
   }
   {
-    baseName = "view-helpers";
+    name = "view-helpers";
+    spec = "*";
     version = "0.1.2";
-    fullName = "view-helpers-*";
-    hash = "b9605b3acd8da98a68a34840061b7dde70eac65529667666014b38b03d198439";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "20643e9f50d00cf46da754dc934d791d4f6e3bb2";
+    tarball = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.2.tgz";
   }
   {
-    baseName = "walk";
-    version = "2.2.1";
-    fullName = "walk-*";
-    hash = "ed78c4a01a936c69c43eac60dde1a54a918fed66681671bf4cfdfa090b49a8ad";
+    name = "vows";
+    spec = ">=0.5.13";
+    version = "0.7.0";
+    topLevel = false;
+    dependencies = [
+      { name = "eyes"; spec = ">=0.1.6"; }
+      { name = "diff"; spec = "~1.0.3"; }
+    ];
     patchLatest = false;
+    sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867";
+    tarball = "http://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
+  }
+  {
+    name = "walk";
+    spec = "*";
+    version = "2.2.1";
     topLevel = true;
     dependencies = [
-      { name = "forEachAsync"; range = "~2.2"; }
+      { name = "forEachAsync"; spec = "~2.2"; }
     ];
+    patchLatest = false;
+    sha1 = "5ada1f8e49e47d4b7445d8be7a2e1e631ab43016";
+    tarball = "http://registry.npmjs.org/walk/-/walk-2.2.1.tgz";
   }
   {
-    baseName = "watch";
+    name = "watch";
+    spec = "0.5.x";
     version = "0.5.1";
-    fullName = "watch-0.5.x";
-    hash = "1c7497c12e6ad97e194b3527ee6fa919e8f9045e588d9f810592dfec58f1d965";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "50ea3a056358c98073e0bca59956de4afd20b213";
+    tarball = "http://registry.npmjs.org/watch/-/watch-0.5.1.tgz";
   }
   {
-    baseName = "watch";
+    name = "watch";
+    spec = "0.7.0";
     version = "0.7.0";
-    fullName = "watch-0.7.0";
-    hash = "8cebd59e96b3c8a25dce0de0204d29cb94f8bd99c7e0c6772f07eb309fd22c54";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "3d6e715648af867ec7f1149302b526479e726856";
+    tarball = "http://registry.npmjs.org/watch/-/watch-0.7.0.tgz";
   }
   {
-    baseName = "websocket-driver";
-    version = "0.2.1";
-    fullName = "websocket-driver->=0.2.0";
-    hash = "8aab2b32695fecd2bca57d95bc51f0eb8a9a5bb298187a8fe3a84cd2cd8e3dc7";
+    name = "websocket-driver";
+    spec = ">=0.2.0";
+    version = "0.2.2";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "998bc1855d8cd0d1e9aa8f8056b83b46ac3e81ef";
+    tarball = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.2.2.tgz";
+  }
+  {
+    name = "when";
+    spec = "~2.2.1";
+    version = "2.2.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b1def994017350b8087f6e9a7596ab2833bdc712";
+    tarball = "http://registry.npmjs.org/when/-/when-2.2.1.tgz";
   }
   {
-    baseName = "which";
+    name = "which";
+    spec = "1";
     version = "1.0.5";
-    fullName = "which-1";
-    hash = "e26f39d7b152c700636472ab4da57bfb9af17972c49a9e2a06f9ff347d8fad42";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
+    tarball = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
   }
   {
-    baseName = "winston";
+    name = "winston";
+    spec = "*";
     version = "0.7.2";
-    fullName = "winston-*";
-    hash = "562d3a3d8dc0ba580bfdfb167e16297940d3386ac4b82e65ad09f4859c4af181";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "async"; range = "0.2.x"; }
-      { name = "colors"; range = "0.6.x"; }
-      { name = "cycle"; range = "1.0.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "pkginfo"; range = "0.3.x"; }
-      { name = "request"; range = "2.16.x"; }
-      { name = "stack-trace"; range = "0.0.x"; }
+      { name = "async"; spec = "0.2.x"; }
+      { name = "colors"; spec = "0.6.x"; }
+      { name = "cycle"; spec = "1.0.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "pkginfo"; spec = "0.3.x"; }
+      { name = "request"; spec = "2.16.x"; }
+      { name = "stack-trace"; spec = "0.0.x"; }
     ];
+    patchLatest = false;
+    sha1 = "2570ae1aa1d8a9401e8d5a88362e1cf936550ceb";
+    tarball = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz";
   }
   {
-    baseName = "winston";
+    name = "winston";
+    spec = "0.6.2";
     version = "0.6.2";
-    fullName = "winston-0.6.2";
-    hash = "bfe4e73f8b42e1521a1c5dbdc50150fc80d508148376c4dfc925caa6516b2a81";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "colors"; range = "0.x.x"; }
-      { name = "cycle"; range = "1.0.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "request"; range = "2.9.x"; }
-      { name = "stack-trace"; range = "0.0.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "colors"; spec = "0.x.x"; }
+      { name = "cycle"; spec = "1.0.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "request"; spec = "2.9.x"; }
+      { name = "stack-trace"; spec = "0.0.x"; }
     ];
+    patchLatest = false;
+    sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
+    tarball = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
   }
   {
-    baseName = "winston";
+    name = "winston";
+    spec = "0.6.x";
     version = "0.6.2";
-    fullName = "winston-0.6.x";
-    hash = "bfe4e73f8b42e1521a1c5dbdc50150fc80d508148376c4dfc925caa6516b2a81";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "colors"; range = "0.x.x"; }
-      { name = "cycle"; range = "1.0.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "request"; range = "2.9.x"; }
-      { name = "stack-trace"; range = "0.0.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "colors"; spec = "0.x.x"; }
+      { name = "cycle"; spec = "1.0.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "request"; spec = "2.9.x"; }
+      { name = "stack-trace"; spec = "0.0.x"; }
     ];
+    patchLatest = false;
+    sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
+    tarball = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
   }
   {
-    baseName = "winston";
+    name = "winston";
+    spec = "0.7.1";
     version = "0.7.1";
-    fullName = "winston-0.7.1";
-    hash = "8504626efcd7b629a69500b0ab70b964fbabb53d6ebb506fdf3e1ecc6f2ca294";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.2.x"; }
-      { name = "colors"; range = "0.6.x"; }
-      { name = "cycle"; range = "1.0.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "pkginfo"; range = "0.3.x"; }
-      { name = "request"; range = "2.16.x"; }
-      { name = "stack-trace"; range = "0.0.x"; }
+      { name = "async"; spec = "0.2.x"; }
+      { name = "colors"; spec = "0.6.x"; }
+      { name = "cycle"; spec = "1.0.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "pkginfo"; spec = "0.3.x"; }
+      { name = "request"; spec = "2.16.x"; }
+      { name = "stack-trace"; spec = "0.0.x"; }
     ];
+    patchLatest = false;
+    sha1 = "e291ab24eddbf79ea40ff532619277a0d30b0eb3";
+    tarball = "http://registry.npmjs.org/winston/-/winston-0.7.1.tgz";
   }
   {
-    baseName = "with";
+    name = "with";
+    spec = "~1.1.0";
     version = "1.1.0";
-    fullName = "with-~1.1.0";
-    hash = "884c829a32f2b9d79d62bc455fd363cc307cf8b5284b822b550221c319ee6db4";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "uglify-js"; range = "2.3.6"; }
+      { name = "uglify-js"; spec = "2.3.6"; }
     ];
+    patchLatest = false;
+    sha1 = "7f722ce4050ab55310777327b014194c544c66dd";
+    tarball = "http://registry.npmjs.org/with/-/with-1.1.0.tgz";
   }
   {
-    baseName = "wordwrap";
+    name = "wordwrap";
+    spec = ">=0.0.1 <0.1.0";
     version = "0.0.2";
-    fullName = "wordwrap->=0.0.1 <0.1.0";
-    hash = "66a2fa688509738922c3ad62a6159fe3c93268bd3bca2bff24df4bc02cc31582";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+    tarball = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
   }
   {
-    baseName = "wordwrap";
+    name = "wordwrap";
+    spec = "~0.0.2";
     version = "0.0.2";
-    fullName = "wordwrap-~0.0.2";
-    hash = "66a2fa688509738922c3ad62a6159fe3c93268bd3bca2bff24df4bc02cc31582";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+    tarball = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+  }
+  {
+    name = "ws";
+    spec = "0.4.x";
+    version = "0.4.27";
     topLevel = false;
     dependencies = [
+      { name = "commander"; spec = "~0.6.1"; }
+      { name = "tinycolor"; spec = "0.x"; }
+      { name = "options"; spec = ">=0.0.5"; }
     ];
+    patchLatest = false;
+    sha1 = "077d3a48b6e0b5a96f68f3b38a94ea1ec72c2555";
+    tarball = "http://registry.npmjs.org/ws/-/ws-0.4.27.tgz";
   }
   {
-    baseName = "wu";
+    name = "wu";
+    spec = "*";
     version = "0.1.8";
-    fullName = "wu-*";
-    hash = "2400d0ca7da862a9063a6a8d914bb4e585f81a5121b0fda8e40b1f6e782c72c6";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "619bcdf64974a487894a25755ae095c5208b4a22";
+    tarball = "http://registry.npmjs.org/wu/-/wu-0.1.8.tgz";
   }
   {
-    baseName = "xml2js";
+    name = "xml2js";
+    spec = "0.2.4";
     version = "0.2.4";
-    fullName = "xml2js-0.2.4";
-    hash = "8daebb075fc7c564d84221a0cef7825ac824db8e312f873daee59a6adf38da28";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "sax"; range = ">=0.4.2"; }
+      { name = "sax"; spec = ">=0.4.2"; }
     ];
+    patchLatest = false;
+    sha1 = "9a5b577fa1e6cdf8923d5e1372f7a3188436e44d";
+    tarball = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz";
   }
   {
-    baseName = "xml2js";
+    name = "xml2js";
+    spec = "0.2.x";
     version = "0.2.8";
-    fullName = "xml2js-0.2.x";
-    hash = "faa75fc23ae6346002555df236250c3612cf76dfac104aff131a5ab5de49b8de";
+    topLevel = false;
+    dependencies = [
+      { name = "sax"; spec = "0.5.x"; }
+    ];
     patchLatest = false;
+    sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
+    tarball = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
+  }
+  {
+    name = "xml2js";
+    spec = ">= 0.0.1";
+    version = "0.2.8";
     topLevel = false;
     dependencies = [
-      { name = "sax"; range = "0.5.x"; }
+      { name = "sax"; spec = "0.5.x"; }
     ];
+    patchLatest = false;
+    sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
+    tarball = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
   }
   {
-    baseName = "xmlbuilder";
+    name = "xmlbuilder";
+    spec = "*";
     version = "0.4.2";
-    fullName = "xmlbuilder-*";
-    hash = "3137e5bf9db1f114767f8ba56be753f2a9f512e38a2df64d7677ae3c9318a0fe";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
+    tarball = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
+  }
+  {
+    name = "xmlhttprequest";
+    spec = "1.4.2";
+    version = "1.4.2";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "01453a1d9bed1e8f172f6495bbf4c8c426321500";
+    tarball = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
+  }
+  {
+    name = "xoauth2";
+    spec = "~0.1";
+    version = "0.1.8";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "b916ff10ecfb54320f16f24a3e975120653ab0d2";
+    tarball = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
+  }
+  {
+    name = "yamlish";
+    spec = "*";
+    version = "0.0.5";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "86c6c8e6b28b0827416dcc86f7419bba5610b57d";
+    tarball = "http://registry.npmjs.org/yamlish/-/yamlish-0.0.5.tgz";
+  }
+  {
+    name = "zeparser";
+    spec = "0.0.5";
+    version = "0.0.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "03726561bc268f2e5444f54c665b7fd4a8c029e2";
+    tarball = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
   }
 ]
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 1cf0d169dbd..3379321bb5f 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -43,10 +43,12 @@
 , "view-helpers"
 , "redis"
 , "mongoose"
+, "mongoose-schema-extend"
 , "connect-mongo"
 , "connect-flash"
 , "passport"
 , "passport-local"
+, "passport-http"
 , "gzippo"
 , "walk"
 , "forever"
@@ -54,4 +56,15 @@
 , "supertest"
 , "should"
 , "nodemon"
+, "timezone"
+, "libyaml"
+, "i18next"
+, "stylus"
+, "npm"
+, "gridfs-stream"
+, "tar"
+, "flatiron"
+, "ironhorse"
+, { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" }
+, { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
 ]
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index a23b776d112..5719967c4c5 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -5,31 +5,47 @@ let
 
   importGeneratedPackages = generated: nativeDeps: self:
     let
+      nativeDepsList = { name, spec, ... }:
+        let
+          nameOr = if builtins.hasAttr name nativeDeps
+            then builtins.getAttr name nativeDeps
+            else {};
+          depsOr = if builtins.hasAttr spec nameOr
+            then builtins.getAttr spec nameOr
+            else [];
+        in depsOr;
       all = pkgs.lib.fold (pkg: { top-level, full }: {
         top-level = top-level ++ pkgs.lib.optional pkg.topLevel {
-          name = pkg.baseName;
-          value = builtins.getAttr pkg.fullName self.full;
+          name = pkg.name;
+          value = builtins.getAttr pkg.spec (builtins.getAttr pkg.name self.full);
         };
-        full = [ {
-          name = pkg.fullName;
-          value = pkgs.lib.makeOverridable buildNodePackage rec {
-            name = "${pkg.baseName}-${pkg.version}";
-            src = (if pkg.patchLatest then patchLatest else fetchurl) {
-              url = "http://registry.npmjs.org/${pkg.baseName}/-/${name}.tgz";
-              sha256 = pkg.hash;
+        full = full // builtins.listToAttrs [ {
+          inherit (pkg) name;
+          value = (if builtins.hasAttr pkg.name full
+            then builtins.getAttr pkg.name full
+            else {}
+          ) // builtins.listToAttrs [ {
+            name = pkg.spec;
+            value = pkgs.lib.makeOverridable buildNodePackage {
+              name = "${pkg.name}-${pkg.version}";
+              src = (if pkg.patchLatest then patchLatest else fetchurl) {
+                url = pkg.tarball;
+                sha1 = pkg.sha1 or "";
+                sha256 = pkg.sha256 or "";
+              };
+              deps = map (dep: builtins.getAttr dep.spec (builtins.getAttr dep.name self.full)) pkg.dependencies;
+              buildInputs = nativeDepsList pkg;
             };
-            deps = map (dep: builtins.getAttr "${dep.name}-${dep.range}" self.full) pkg.dependencies;
-            buildInputs = if builtins.hasAttr name nativeDeps then builtins.getAttr name nativeDeps else [];
-          };
-        } ] ++ full;
-      } ) { top-level = []; full = []; } generated;
-    in builtins.listToAttrs all.top-level // { full = builtins.listToAttrs all.full; };
+          } ];
+        } ];
+      } ) { top-level = []; full = {}; } generated;
+    in builtins.listToAttrs all.top-level // { inherit (all) full; };
 in {
   inherit importGeneratedPackages;
 
   nativeDeps = {
-    "node-expat-*" = [ pkgs.expat ];
-    "rbytes-0.0.2" = [ pkgs.openssl ];
+    "node-expat"."*" = [ pkgs.expat ];
+    "rbytes"."0.0.2" = [ pkgs.openssl ];
   };
 
   buildNodePackage = import ../development/web/nodejs/build-node-package.nix {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 2139341f3b5..c20f4efd9fc 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -98,6 +98,28 @@ rec {
     propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ];
   };
 
+  AnyEvent = buildPerlPackage {
+    name = "AnyEvent-7.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.04.tar.gz;
+      sha256 = "6a9d94fa61c7f5dc515c834eb224dbc6ce4123da8fd5bfa0cf3815f3f3e908b2";
+    };
+  };
+
+  AnyEventRabbitMQ = buildPerlPackage {
+    name = "AnyEvent-RabbitMQ-1.15";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/AnyEvent-RabbitMQ-1.15.tar.gz;
+      sha256 = "fda292dfaae10f6d99aafc46831ce507153b58368e3eb2617bbb3f749605805a";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ AnyEvent DevelGlobalDestruction FileShareDir ListMoreUtils NetAMQP Readonly namespaceclean ];
+    meta = {
+      description = "An asynchronous and multi channel Perl AMQP client";
+      license = "perl";
+    };
+  };
+
   AnyMoose = buildPerlPackage rec {
     name = "Any-Moose-0.10";
     src = fetchurl {
@@ -130,6 +152,21 @@ rec {
     propagatedBuildInputs = [LocaleMaketextSimple];
   };
 
+  AppCmd = buildPerlPackage {
+    name = "App-Cmd-0.320";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.320.tar.gz;
+      sha256 = "ca6174f634bbe5b73c5f5ad6e0f3b3385568934282f4e848da8e78025b2b185e";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ CaptureTiny ClassLoad DataOptList GetoptLongDescriptive IOTieCombine StringRewritePrefix SubExporter SubInstall ];
+    meta = {
+      homepage = https://github.com/rjbs/app-cmd;
+      description = "Write command line apps with less suffering";
+      license = "perl";
+    };
+  };
+
   AppConfig = buildPerlPackage {
     name = "AppConfig-1.66";
     src = fetchurl {
@@ -233,6 +270,18 @@ rec {
     };
   };
 
+  autodie = buildPerlPackage {
+    name = "autodie-2.20";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PJ/PJF/autodie-2.20.tar.gz;
+      sha256 = "346763c582cd8066b4e5d07e4013202f9f9296d32b42343e117dbfb13ea6e4f0";
+    };
+    meta = {
+      description = "Replace functions with ones that succeed or die with lexical scope";
+      license = "perl";
+    };
+  };
+
   BerkeleyDB = import ../development/perl-modules/BerkeleyDB {
     inherit buildPerlPackage fetchurl;
     inherit (pkgs) db4;
@@ -268,7 +317,7 @@ rec {
   BitVector = buildPerlPackage {
     name = "Bit-Vector-7.3";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/S/ST/STBEY/Bit-Vector-7.3.tar.gz;
+      url = mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.3.tar.gz;
       sha256 = "0gcg1173i1bsx2qvyw77kw90xbf03b861jc42hvq744vzc5k6xjs";
     };
     propagatedBuildInputs = [CarpClan];
@@ -296,10 +345,10 @@ rec {
   };
 
   BoostGeometryUtils = buildPerlModule rec {
-    name = "Boost-Geometry-Utils-0.09";
+    name = "Boost-Geometry-Utils-0.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AA/AAR/${name}.tar.gz";
-      sha256 = "0wgd36rxd5lj0vlkp7l9zgx8bgbv0nj4kia83ipb7p64xpyysghg";
+      sha256 = "1pywbxjf05qpcixshblhd2cham601zwa9w7c3k5waz4cdild6g1m";
     };
     propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsTypemapsDefault ];
   };
@@ -365,7 +414,7 @@ rec {
   CaptchaReCAPTCHA = buildPerlPackage rec {
     name = "Captcha-reCAPTCHA-0.97";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/P/PH/PHRED/Captcha-reCAPTCHA-0.97.tar.gz;
+      url = mirror://cpan/authors/id/P/PH/PHRED/Captcha-reCAPTCHA-0.97.tar.gz;
       sha256 = "12f2yh89aji6mnkrqxjcllws5dlg545wvz0j7wamy149xyqi12wq";
     };
     propagatedBuildInputs = [HTMLTiny LWP];
@@ -464,7 +513,7 @@ rec {
       url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
       sha256 = "09mn0wjwfvnfi28y47g816nx50zdpvwvbxp0nrpsap0ir1m80wi3";
     };
-    buildInputs = [ TestWWWMechanizeCatalyst TestUseOk ];
+    buildInputs = [ TestWWWMechanizeCatalyst Testuseok ];
     propagatedBuildInputs =
       [ CatalystPluginAuthentication ClassAccessor CryptPasswdMD5 AuthenHtpasswd HTMLForm ];
   };
@@ -666,7 +715,7 @@ rec {
       url = mirror://cpan/authors/id/G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz;
       sha256 = "0v5iphbq4csc4r6wkvxnqlh97p8g0yhjky9qqmsdyqczn87agbba";
     };
-    buildInputs = [ CatalystRuntime TestUseOk TestWWWMechanizeCatalyst ];
+    buildInputs = [ CatalystRuntime Testuseok TestWWWMechanizeCatalyst ];
     propagatedBuildInputs = [ ClassAccessorFast HTTPMessage MROCompat ];
     meta = {
       description = "HTTP/1.1 cache validators for Catalyst";
@@ -785,7 +834,7 @@ rec {
       url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
       sha256 = "1c6k4x6az0fkany16zlyaqhlp7bcx922vl4qzd3z707vs6pc06rz";
     };
-    buildInputs = [  TestWWWMechanizeCatalyst TestUseOk ];
+    buildInputs = [  TestWWWMechanizeCatalyst Testuseok ];
     propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ];
   };
 
@@ -1307,7 +1356,7 @@ rec {
       url = "mirror://cpan/authors/id/J/JR/JROCKWAY/${name}.tar.gz";
       sha256 = "0gssillawjknqks81x7fg7w2x94bnyklgd8ry2pr1k6ifkjhwz46";
     };
-    buildInputs = [ TestException TestUseOk ];
+    buildInputs = [ TestException Testuseok ];
   };
 
   CookieXS = buildPerlPackage rec {
@@ -1320,6 +1369,15 @@ rec {
     propagatedBuildInputs = [ CGICookieXS ];
   };
 
+  Coro = buildPerlPackage {
+    name = "Coro-6.31";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.31.tar.gz;
+      sha256 = "a73ace48d940b28e3dfb32d2f3507205d3ddfdc6610075ecc72e19476bb6de44";
+    };
+    propagatedBuildInputs = [ AnyEvent Guard CommonSense ];
+  };
+
   CPANMeta = buildPerlPackage {
     name = "CPAN-Meta-2.120921";
     src = fetchurl {
@@ -1427,7 +1485,7 @@ rec {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/Crypt-Random-Source-0.07.tar.gz;
       sha256 = "0kxcqcpknh9hhfnpiymxrjg74yj7nfr7k4fgrfmd9s2cw9p9mqdv";
     };
-    buildInputs = [ TestUseOk TestException ];
+    buildInputs = [ Testuseok TestException ];
     propagatedBuildInputs = [ AnyMoose CaptureTiny ModuleFind namespaceclean SubExporter ];
     meta = {
       homepage = http://search.cpan.org/dist/Crypt-Random-Source;
@@ -1687,7 +1745,7 @@ rec {
   DateCalc = buildPerlPackage {
     name = "Date-Calc-6.3";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/S/ST/STBEY/Date-Calc-6.3.tar.gz;
+      url = mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.3.tar.gz;
       sha256 = "14yvbgy9n8icwlm5zi86lskvxd6nsl42i1g9f5dwdaw9my463diy";
     };
     propagatedBuildInputs = [CarpClan BitVector];
@@ -2071,6 +2129,18 @@ rec {
     };
   };
 
+  DBIxSimple = buildPerlPackage {
+    name = "DBIx-Simple-1.35";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.35.tar.gz;
+      sha256 = "445535b3dfab88140c7a0d2776b1e78f254dc7e9c81072d5a01afc95a5db499a";
+    };
+    propagatedBuildInputs = [ DBI ];
+    meta = {
+      description = "Very complete easy-to-use OO interface to DBI";
+    };
+  };
+
   DevelCycle = buildPerlPackage {
     name = "Devel-Cycle-1.11";
     src = fetchurl {
@@ -2123,7 +2193,7 @@ rec {
       url = mirror://cpan/authors/id/F/FL/FLORA/Devel-PartialDump-0.15.tar.gz;
       sha256 = "0xm42030qlbimay5x72sjj0na43ciniai2xdcdx8zf191jw5dz7n";
     };
-    propagatedBuildInputs = [ Moose namespaceclean SubExporter TestUseOk TestWarn ];
+    propagatedBuildInputs = [ Moose namespaceclean SubExporter Testuseok TestWarn ];
   };
 
   DevelStackTrace = buildPerlPackage {
@@ -2425,7 +2495,7 @@ rec {
   ExceptionBase = buildPerlPackage {
     name = "Exception-Base-0.25";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/D/DE/DEXTER/Exception-Base-0.25.tar.gz;
+      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.25.tar.gz;
       sha256 = "1s2is862xba2yy633wn2nklrya36yrlwxlbpqjrv8m31xj2c8khw";
     };
     buildInputs = [ TestUnitLite ];
@@ -2460,6 +2530,21 @@ rec {
     propagatedBuildInputs = [ ExceptionBase ];
   };
 
+  ExporterDeclare = buildPerlModule {
+    name = "Exporter-Declare-0.113";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.113.tar.gz;
+      sha256 = "724de5e982c8477df14a360c82233f9e0c26b4af9191647f750f5e465ea42dce";
+    };
+    buildInputs = [ FennecLite TestException ];
+    propagatedBuildInputs = [ MetaBuilder aliased ];
+    meta = {
+      homepage = http://open-exodus.net/projects/Exporter-Declare;
+      description = "Exporting done right";
+      license = "perl";
+    };
+  };
+
   ExporterLite = buildPerlPackage {
     name = "Exporter-Lite-0.02";
     src = fetchurl {
@@ -2472,11 +2557,12 @@ rec {
   };
 
   ExtUtilsCBuilder = buildPerlPackage rec {
-    name = "ExtUtils-CBuilder-0.280202";
+    name = "ExtUtils-CBuilder-0.280205";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "13qjdz1kmrp5mp404by94cdsyydjadg974ykinqga450djjaqpbq";
+      sha256 = "0nfrr3zd71gnsbp5xacdb70n17slrzj421s4nyr11zg5cqsj3ngs";
     };
+    buildInputs = [ PerlOSType ];
   };
 
   ExtUtilsConfig = buildPerlPackage {
@@ -2569,19 +2655,40 @@ rec {
   };
 
   ExtUtilsParseXS = buildPerlPackage rec {
-    name = "ExtUtils-ParseXS-3.15";
+    name = "ExtUtils-ParseXS-3.18";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "06baf0nsmdkfk50p4x9kss4ncm8h49gkzy8hl5cxbxdsab65gmrb";
+      sha256 = "0kvbx66vncgk2c72994z31bgh2w3rsrlnx0z7cmxqa7w3hlc4741";
     };
   };
 
+  # From CPAN[1]:
+  #   This module exists merely as a compatibility wrapper around
+  #   ExtUtils::Typemaps. In a nutshell, ExtUtils::Typemap was renamed to
+  #   ExtUtils::Typemaps because the Typemap directory in lib/ could collide with
+  #   the typemap file on case-insensitive file systems.
+  #
+  #   The ExtUtils::Typemaps module is part of the ExtUtils::ParseXS distribution
+  #   and ships with the standard library of perl starting with perl version
+  #   5.16.
+  #
+  # [1] http://search.cpan.org/~smueller/ExtUtils-Typemap-1.00/lib/ExtUtils/Typemap.pm:
+  ExtUtilsTypemap = buildPerlPackage rec {
+    name = "ExtUtils-Typemap-1.00";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
+      sha256 = "1iqz0xlscg655gnwb2h1wrjj70llblps1zznl29qn1mv5mvibc5i";
+    };
+    buildInputs = [ ExtUtilsParseXS ];
+  };
+
   ExtUtilsTypemapsDefault = buildPerlModule rec {
     name = "ExtUtils-Typemaps-Default-1.01";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
       sha256 = "0k03rr7bmhnn6j0505w9id5apss85yvqnx76hxf3javn3klj1m5z";
     };
+    propagatedBuildInputs = [ ExtUtilsTypemap ExtUtilsParseXS ];
   };
 
   ExtUtilsXSpp = buildPerlModule rec {
@@ -2612,6 +2719,19 @@ rec {
     buildInputs = [ ];
   };
 
+  FennecLite = buildPerlModule {
+    name = "Fennec-Lite-0.004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Fennec-Lite-0.004.tar.gz;
+      sha256 = "dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab";
+    };
+    meta = {
+      homepage = http://open-exodus.net/projects/Fennec-Lite;
+      description = "Minimalist Fennec, the commonly used bits";
+      license = "perl";
+    };
+  };
+
   FileChangeNotify = buildPerlModule rec {
     name = "File-ChangeNotify-0.20";
     src = fetchurl {
@@ -2710,6 +2830,19 @@ rec {
     };
   };
 
+  Filepushd = buildPerlPackage {
+    name = "File-pushd-1.005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.005.tar.gz;
+      sha256 = "50fdcc33e69a50bab1e32d1a7c96753938f6d95a06015e34e662958c58687842";
+    };
+    meta = {
+      homepage = https://metacpan.org/release/File-pushd;
+      description = "Change directory temporarily for a limited scope";
+      license = "apache";
+    };
+  };
+
   FileRemove = buildPerlPackage rec {
     name = "File-Remove-1.42";
     src = fetchurl {
@@ -2718,6 +2851,20 @@ rec {
     };
   };
 
+  FileShare = buildPerlPackage {
+    name = "File-Share-0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IN/INGY/File-Share-0.02.tar.gz;
+      sha256 = "1vdgyf3m08s4pwj70bgbb31jsj8hixdl940m15phyx2hpy8dkabw";
+    };
+    propagatedBuildInputs = [ FileShareDir ];
+    meta = {
+      homepage = http://github.com/ingydotnet/file-share-pm/tree;
+      description = "Extend File::ShareDir to Local Libraries";
+      license = "perl";
+    };
+  };
+
   FileShareDir = buildPerlPackage {
     name = "File-ShareDir-1.03";
     src = fetchurl {
@@ -2937,6 +3084,14 @@ rec {
     buildInputs = [ DataUUID CryptCBC ];
   };
 
+  Guard = buildPerlPackage {
+    name = "Guard-1.022";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-1.022.tar.gz;
+      sha256 = "0saq9949d13mdvpnls7mw1cy74lm4ncl7agbs7n2jl4sy6bvmw9m";
+    };
+  };
+
   HashFlatten = buildPerlPackage rec {
     name = "Hash-Flatten-1.19";
     src = fetchurl {
@@ -2976,7 +3131,7 @@ rec {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/Hash-Util-FieldHash-Compat-0.03.tar.gz;
       sha256 = "0pmai98a89j82fjksfax87brmpimjn74kr7bl874lc1k40dfhx47";
     };
-    propagatedBuildInputs = [ TestUseOk ];
+    propagatedBuildInputs = [ Testuseok ];
   };  
 
   HeapFibonacci = buildPerlPackage {
@@ -2996,6 +3151,17 @@ rec {
     buildInputs = [ pkgs.unzip ];
   };
 
+  HTMLFromANSI = buildPerlPackage {
+    name = "HTML-FromANSI-2.03";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NU/NUFFIN/HTML-FromANSI-2.03.tar.gz;
+      sha256 = "21776345ed701b2c04c7b09380af943f9984cc7f99624087aea45db5fc09c359";
+    };
+    propagatedBuildInputs = [ HTMLParser TermVT102Boundless Testuseok ];
+    meta = {
+    };
+  };
+
   HTMLForm = buildPerlPackage {
     name = "HTML-Form-6.03";
     src = fetchurl {
@@ -3372,7 +3538,7 @@ rec {
   };
 
   IOPager = buildPerlPackage {
-    name = "IO-Pager-0.06.tgz";
+    name = "IO-Pager-0.06";
     src = fetchurl {
       url = mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-0.06.tgz;
       sha256 = "0r3af4gyjpy0f7bhs7hy5s7900w0yhbckb2dl3a1x5wpv7hcbkjb";
@@ -3418,6 +3584,19 @@ rec {
     };
   };
 
+  IOTieCombine = buildPerlPackage {
+    name = "IO-TieCombine-1.002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.002.tar.gz;
+      sha256 = "fd4f59e82852fd8b868dd1642cb6ec9caf32a597803fdce2cbe8d580c3b41d44";
+    };
+    meta = {
+      homepage = https://github.com/rjbs/io-tiecombine;
+      description = "Produce tied (and other) separate but combined variables";
+      license = "perl";
+    };
+  };
+
   IOTty = buildPerlPackage rec {
     name = "IO-Tty-1.10";
     src = fetchurl {
@@ -3605,8 +3784,8 @@ rec {
   libintl_perl = buildPerlPackage rec {
     name = "libintl-perl-1.23";
     src = fetchurl {
-        url = http://cpan.metacpan.org/authors/id/G/GU/GUIDO/libintl-perl-1.23.tar.gz;
-        sha256 = "1ylz6yhjifblhmnva0k05ch12a4cdii5v0icah69ma1gdhsidnk0";
+      url = mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.23.tar.gz;
+      sha256 = "1ylz6yhjifblhmnva0k05ch12a4cdii5v0icah69ma1gdhsidnk0";
     };
   };
 
@@ -3709,8 +3888,8 @@ rec {
   ListUtilsBy = buildPerlPackage rec {
     name = "List-UtilsBy-0.09";
     src = fetchurl {
-        url = http://cpan.metacpan.org/authors/id/P/PE/PEVANS/List-UtilsBy-0.09.tar.gz;
-        sha256 = "1xcsgz8898h670zmwqd8azfn3a2y9nq7z8cva9dsyhzkk8ajmra1";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.09.tar.gz;
+      sha256 = "1xcsgz8898h670zmwqd8azfn3a2y9nq7z8cva9dsyhzkk8ajmra1";
     };
   };
 
@@ -3756,6 +3935,20 @@ rec {
     };
   };
 
+  LogContextual = buildPerlPackage {
+    name = "Log-Contextual-0.005003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.005003.tar.gz;
+      sha256 = "8519ae92bd8685d003460f99151996e94f38c3c8f12b90634857558605d13719";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
+    meta = {
+      description = "Simple logging interface with a contextual log";
+      license = "perl";
+    };
+  };
+
   LogDispatch = buildPerlPackage {
     name = "Log-Dispatch-2.39";
     src = fetchurl {
@@ -3912,10 +4105,10 @@ rec {
   };
 
   MathClipper = buildPerlModule rec {
-    name = "Math-Clipper-1.19";
+    name = "Math-Clipper-1.22";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
-      sha256 = "1hrdand4i937bgsr3f3yma5ckkdwkprdwmkyyl37v1vqcjdrjr7j";
+      sha256 = "0p5iblg979v3pb6a8kyhjdv33yadr5997nhz9asjksgvww328nfa";
     };
     propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsXSpp ExtUtilsTypemapsDefault TestDeep ];
   };
@@ -3995,6 +4188,19 @@ rec {
     };
   };
 
+  MetaBuilder = buildPerlModule {
+    name = "Meta-Builder-0.003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Meta-Builder-0.003.tar.gz;
+      sha256 = "e7ac289b88d1662e87708d716877ac66a1a8414660996fe58c1db96d834a5375";
+    };
+    buildInputs = [ FennecLite TestException ];
+    meta = {
+      description = "Tools for creating Meta objects to track custom metrics";
+      license = "perl";
+    };
+  };
+
   MethodSignaturesSimple = buildPerlPackage {
     name = "Method-Signatures-Simple-1.07";
     src = fetchurl {
@@ -4043,6 +4249,7 @@ rec {
       url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4005.tar.gz;
       sha256 = "eb2522507251550f459c11223ea6d86b34f1dee9b3e3928d0d6a0497505cb7ef";
     };
+    buildInputs = [ CPANMeta ExtUtilsCBuilder ];
     meta = {
       description = "Build and install Perl modules";
       license = "perl";
@@ -4113,6 +4320,32 @@ rec {
     };
   };
 
+  ModuleInstallAuthorRequires = buildPerlPackage {
+    name = "Module-Install-AuthorRequires-0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FL/FLORA/Module-Install-AuthorRequires-0.02.tar.gz;
+      sha256 = "1v2ciw75dj5y8lh10d1vrhwmjx266gpqavr8m21jlpblgm9j2qyc";
+    };
+    propagatedBuildInputs = [ ModuleInstall ];
+    meta = {
+      description = "Declare author-only dependencies";
+      license = "perl";
+    };
+  };
+
+  ModuleInstallAuthorTests = buildPerlPackage {
+    name = "Module-Install-AuthorTests-0.002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Module-Install-AuthorTests-0.002.tar.gz;
+      sha256 = "121dyggy38316xss06v1zkwx4b59gl7b00c5q99xyzimwqnp49a0";
+    };
+    propagatedBuildInputs = [ ModuleInstall ];
+    meta = {
+      description = "Designate tests only run by module authors";
+      license = "perl";
+    };
+  };
+
   ModuleMetadata = buildPerlPackage rec {
     name = "Module-Metadata-1.000005";
     src = fetchurl {
@@ -4188,7 +4421,7 @@ rec {
   ModuleVersions = buildPerlPackage {
     name = "Module-Versions-0.02";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/T/TH/THW/Module-Versions-0.02.zip;
+      url = mirror://cpan/authors/id/T/TH/THW/Module-Versions-0.02.zip;
       sha256 = "0g7qs6vqg91xpwg1cdy91m3kh9m1zbkzyz1qsy453b572xdscf0d";
     };
     buildInputs = [ pkgs.unzip ];
@@ -4257,6 +4490,21 @@ rec {
     propagatedBuildInputs = [ Moose ];
   };
 
+  MooseXAppCmd = buildPerlPackage {
+    name = "MooseX-App-Cmd-0.10";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MJ/MJGARDNER/MooseX-App-Cmd-0.10.tar.gz;
+      sha256 = "6d2d8fdc4f3f7fa76dc82c10d71b099f1572c054a72f373e5a9fa6237e48634a";
+    };
+    buildInputs = [ MooseXConfigFromFile TestOutput YAML ];
+    propagatedBuildInputs = [ AppCmd GetoptLongDescriptive Moose MooseXConfigFromFile MooseXGetopt MooseXHasOptions MooseXMarkAsMethods Testuseok ];
+    meta = {
+      homepage = http://metacpan.org/release/MooseX-App-Cmd;
+      description = "Mashes up MooseX::Getopt and App::Cmd";
+      license = "perl";
+    };
+  };
+
   MooseXAttributeChained = buildPerlModule rec {
     name = "MooseX-Attribute-Chained-1.0.1";
     src = fetchurl {
@@ -4266,13 +4514,41 @@ rec {
     propagatedBuildInputs = [ Moose TryTiny ];
   };
 
+  MooseXAttributeHelpers = buildPerlPackage {
+    name = "MooseX-AttributeHelpers-0.23";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-AttributeHelpers-0.23.tar.gz;
+      sha256 = "3f63f60d94d840a309d9137f78605e15f07c977fd15a4f4b55bd47b65ed52be1";
+    };
+    buildInputs = [ Moose TestException ];
+    propagatedBuildInputs = [ Moose ];
+    meta = {
+      description = "Extend your attribute interfaces (deprecated)";
+      license = "perl";
+    };
+  };
+
   MooseXClone = buildPerlPackage {
     name = "MooseX-Clone-0.05";
     src = fetchurl {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/MooseX-Clone-0.05.tar.gz;
       sha256 = "11pbw3zdbcn54hrj6z74qisnmj9k4qliy6yjj9d71qndq3xg3x0f";
     };
-    propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat Moose namespaceclean TestUseOk ];
+    propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat Moose namespaceclean Testuseok ];
+  };
+
+  MooseXConfigFromFile = buildPerlPackage {
+    name = "MooseX-ConfigFromFile-0.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.11.tar.gz;
+      sha256 = "963e7dbb2bc7ca18995db903c64b0841c4e8d3877009bff5475125673c3b02b4";
+    };
+    buildInputs = [ Moose TestCheckDeps TestDeep TestFatal TestNoWarnings TestRequires TestWithoutModule ];
+    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathTiny TryTiny namespaceautoclean ];
+    meta = {
+      description = "An abstract Moose role for setting attributes from a configfile";
+      license = "perl";
+    };
   };
 
   MooseXDaemonize = buildPerlPackage {
@@ -4318,6 +4594,21 @@ rec {
     };
   };
 
+  MooseXHasOptions = buildPerlPackage {
+    name = "MooseX-Has-Options-0.003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PS/PSHANGOV/MooseX-Has-Options-0.003.tar.gz;
+      sha256 = "07c21cf8ed500b272020ff8da19f194728bb414e0012a2f0cc54ef2ef6222a68";
+    };
+    buildInputs = [ Moose TestMost namespaceautoclean ];
+    propagatedBuildInputs = [ ClassLoad ListMoreUtils PackageStash StringRewritePrefix ];
+    meta = {
+      homepage = https://github.com/pshangov/moosex-has-options;
+      description = "Succinct options for Moose";
+      license = "perl";
+    };
+  };
+
   MooseXMarkAsMethods = buildPerlPackage {
     name = "MooseX-MarkAsMethods-0.15";
     src = fetchurl {
@@ -4422,7 +4713,7 @@ rec {
       url = mirror://cpan/authors/id/J/JR/JROCKWAY/MooseX-Runnable-0.03.tar.gz;
       sha256 = "1hl3pnldjlbyj6gm3bzwj827qp54di14hp4zhypmrmbg1lscfdwc";
     };
-    buildInputs = [ TestUseOk TestTableDriven ];
+    buildInputs = [ Testuseok TestTableDriven ];
     propagatedBuildInputs = [ ListMoreUtils Moose MooseXGetopt MooseXTypes MooseXTypesPathClass namespaceautoclean ParamsUtil ];
   };
 
@@ -4448,8 +4739,8 @@ rec {
   MooseXSingleton = buildPerlPackage rec {
     name = "MooseX-Singleton-0.29";
     src = fetchurl {
-        url = http://cpan.metacpan.org/authors/id/K/KA/KAARE/MooseX-Singleton-0.29.tar.gz;
-        sha256 = "0103f0hi7fp3mc0y0ydnz4ghcnag5gwgn2160y2zp6rnydx2p2sc";
+      url = mirror://cpan/authors/id/K/KA/KAARE/MooseX-Singleton-0.29.tar.gz;
+      sha256 = "0103f0hi7fp3mc0y0ydnz4ghcnag5gwgn2160y2zp6rnydx2p2sc";
     };
     buildInputs = [ Moose TestFatal TestRequires ];
   };
@@ -4474,7 +4765,7 @@ rec {
       url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
       sha256 = "0sqmpf2kw25847fwrrwpcfhrq694bgs8jbix7qxp9qyjm769np6n";
     };
-    buildInputs = [ TestException TestUseOk ];
+    buildInputs = [ TestException Testuseok ];
     propagatedBuildInputs = [ ClassMOP Moose namespaceautoclean ];
   };
 
@@ -4520,7 +4811,7 @@ rec {
       url = mirror://cpan/authors/id/I/IL/ILMARI/MooseX-Types-DateTime-0.08.tar.gz;
       sha256 = "0q0d1dd8737rc3k3jb22wvybf03hg3lp1iyda0ivkd8020cib996";
     };
-    propagatedBuildInputs = [ DateTime DateTimeLocale DateTimeTimeZone Moose MooseXTypes namespaceclean TestException TestUseOk ];
+    propagatedBuildInputs = [ DateTime DateTimeLocale DateTimeTimeZone Moose MooseXTypes namespaceclean TestException Testuseok ];
   };
 
   MooseXTypesDateTimeMoreCoercions = buildPerlPackage {
@@ -4529,7 +4820,7 @@ rec {
       url = mirror://cpan/authors/id/I/IL/ILMARI/MooseX-Types-DateTime-MoreCoercions-0.11.tar.gz;
       sha256 = "c746a9284b7db49ce9acb2fbce26629fa816e6636e883d2ed6c62e336cfc52cb";
     };
-    buildInputs = [ TestException TestUseOk ];
+    buildInputs = [ TestException Testuseok ];
     propagatedBuildInputs = [ DateTime DateTimeXEasy Moose MooseXTypes MooseXTypesDateTime TimeDurationParse namespaceclean ];
     meta = {
       description = "Extensions to MooseX::Types::DateTime";
@@ -4540,7 +4831,7 @@ rec {
   MooseXTypesLoadableClass = buildPerlPackage rec {
     name = "MooseX-Types-LoadableClass-0.008";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/B/BO/BOBTFISH/MooseX-Types-LoadableClass-0.008.tar.gz;
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/MooseX-Types-LoadableClass-0.008.tar.gz;
       sha256 = "0wh4zxknqv98nrmsp6yg6mazjyl3vacrgywarzjg5gks78c84i8g";
     };
     propagatedBuildInputs = [ ClassLoad Moose MooseXTypes namespaceclean ];
@@ -4559,6 +4850,36 @@ rec {
     };
   };
 
+  MooseXTypesPathTiny = buildPerlModule {
+    name = "MooseX-Types-Path-Tiny-0.006";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.006.tar.gz;
+      sha256 = "0260c6fbbf84d411b145238ffd92a73f754bd92434448d9f78798fba0a2dfdd6";
+    };
+    buildInputs = [ Filepushd ModuleBuildTiny TestCheckDeps TestFatal ];
+    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesStringlike PathTiny ];
+    meta = {
+      homepage = https://github.com/karenetheridge/moosex-types-path-tiny;
+      description = "Path::Tiny types and coercions for Moose";
+      license = "apache";
+    };
+  };
+
+  MooseXTypesStringlike = buildPerlPackage {
+    name = "MooseX-Types-Stringlike-0.001";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.001.tar.gz;
+      sha256 = "2ba71fff105d851ea6aee85bef5d6629726138a2b005b77a163a8bfb403cea03";
+    };
+    buildInputs = [ Moose ];
+    propagatedBuildInputs = [ MooseXTypes ];
+    meta = {
+      homepage = https://github.com/dagolden/moosex-types-stringlike;
+      description = "Moose type constraints for strings or string-like objects";
+      license = "apache";
+    };
+  };
+
   MooseXTypesStructured = buildPerlPackage {
     name = "MooseX-Types-Structured-0.28";
     src = fetchurl {
@@ -4580,7 +4901,7 @@ rec {
       url = mirror://cpan/authors/id/F/FL/FLORA/MooseX-Types-URI-0.03.tar.gz;
       sha256 = "056v08kzcd93h8l69iqdxbr05h85bgz6jvp6iwc0vv68dacr299s";
     };
-    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathClass namespaceclean TestUseOk URI URIFromHash ];
+    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathClass namespaceclean Testuseok URI URIFromHash ];
   };
 
   Mouse = buildPerlPackage rec {
@@ -4727,7 +5048,7 @@ rec {
   };
 
   NetAmazonS3Policy = buildPerlPackage {
-    name = "Net-Amazon-S3-Policy-0.001002";
+    name = "Net-Amazon-S3-Policy-0.1.2";
     src = fetchurl {
       url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.2.tar.gz;
       sha256 = "1kkzimvxwxx0mypf75dalksxmvwsb8b575yx2nzmvjkvjg3j9na0";
@@ -4739,6 +5060,27 @@ rec {
     };
   };
 
+  NetAMQP = buildPerlPackage {
+    name = "Net-AMQP-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz;
+      sha256 = "0b2ba7de2cd7ddd5fe102a2e2ae7aeba21eaab1078bf3bfd3c5a722937256380";
+    };
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ ClassAccessor ClassDataInheritable XMLLibXML ];
+    meta = {
+      description = "Advanced Message Queue Protocol (de)serialization and representation";
+      license = "perl";
+    };
+    preConfigure =
+      ''
+        substituteInPlace META.json \
+          '"Module::Build" : "0.40"' '"Module::Build" : "0.39"'
+        substituteInPlace META.yml \
+          'Module::Build: 0.40' 'Module::Build: 0.39'
+      '';
+  };
+
   NetCoverArtArchive = buildPerlPackage {
     name = "Net-CoverArtArchive-1.02";
     src = fetchurl {
@@ -4819,6 +5161,20 @@ rec {
     };
   };
 
+  NetRabbitFoot = buildPerlPackage {
+    name = "Net-RabbitFoot-1.03";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IK/IKUTA/Net-RabbitFoot-1.03.tar.gz;
+      sha256 = "0544b1914e7847b32b60a643abc6f0b1fdc6d4a816afd84bcd3eee0c28b001ac";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ AnyEventRabbitMQ ConfigAny Coro JSONXS ListMoreUtils Moose MooseXAppCmd MooseXAttributeHelpers MooseXConfigFromFile ];
+    meta = {
+      description = "An Asynchronous and multi channel Perl AMQP client";
+      license = "perl";
+    };
+  };
+
   NetServer = buildPerlPackage {
     name = "Net-Server-2.007";
     src = fetchurl {
@@ -5089,6 +5445,29 @@ rec {
     };
   };
 
+  PathTiny = buildPerlPackage {
+    name = "Path-Tiny-0.026";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.026.tar.gz;
+      sha256 = "e79ee187bbf7fdef387886a8c929bd0a1171fb54db1984d79f4e04d90f733cc6";
+    };
+    buildInputs = [ DevelHide Filepushd TestDeep TestFailWarnings TestFatal perl ];
+    propagatedBuildInputs = [ autodie ];
+    meta = {
+      homepage = https://metacpan.org/release/Path-Tiny;
+      description = "File path utility";
+      license = "apache";
+    };
+    preConfigure =
+      ''
+        substituteInPlace lib/Path/Tiny.pm --replace 'use File::Spec 3.40' \
+          'use File::Spec 3.39'
+      '';
+    # This appears to be currently failing tests, though I don't know why.
+    # -- ocharles
+    doCheck = false;
+  };
+
   Perl5lib = buildPerlPackage rec {
     name = "perl5lib-1.02";
     src = fetchurl {
@@ -5437,7 +5816,7 @@ rec {
   RSSParserLite = buildPerlPackage {
     name = "RSS-Parser-Lite-0.10";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/E/EB/EBOSRUP/RSS-Parser-Lite-0.10.tar.gz;
+      url = mirror://cpan/authors/id/E/EB/EBOSRUP/RSS-Parser-Lite-0.10.tar.gz;
       sha256 = "1spvi0z62saz2cam8kwk2k561aavw2w42g3ykj38w1kmydvsk8z6";
     };
     propagatedBuildInputs = [ SOAPLite ];
@@ -5790,7 +6169,7 @@ rec {
       url = mirror://cpan/authors/id/B/BO/BOBTFISH/String-TT-0.03.tar.gz;
       sha256 = "1asjr79wqcl9wk96afxrm1yhpj8lk9bk8kyz78yi5ypr0h55yq7p";
     };
-    buildInputs = [ TestUseOk TestException TestTableDriven ];
+    buildInputs = [ Testuseok TestException TestTableDriven ];
     propagatedBuildInputs = [ PadWalker SubExporter TemplateToolkit ];
     meta = {
       description = "Use TT to interpolate lexical variables";
@@ -6137,6 +6516,28 @@ rec {
     doCheck = false;
   };
 
+  TermVT102 = buildPerlPackage {
+    name = "Term-VT102-0.91";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AJ/AJWOOD/Term-VT102-0.91.tar.gz;
+      sha256 = "f954e0310941d45c0fc3eb4a40f5d3a00d68119e277d303a1e6af11ded6fbd94";
+    };
+    meta = {
+    };
+  };
+
+  TermVT102Boundless = buildPerlPackage {
+    name = "Term-VT102-Boundless-0.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NU/NUFFIN/Term-VT102-Boundless-0.04.tar.gz;
+      sha256 = "5bb88b5aecb44ebf56d3ac7240be80cd26def9dcf1ebeb4e77d9983dfc7a8f19";
+    };
+    propagatedBuildInputs = [ TermVT102 Testuseok ];
+    meta = {
+      license = "unknown";
+    };
+  };
+
   TestAssert = buildPerlPackage {
     name = "Test-Assert-0.0504";
     src = fetchurl {
@@ -6204,6 +6605,19 @@ rec {
     };
   };
 
+  TestEOL = buildPerlPackage {
+    name = "Test-EOL-1.5";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-EOL-1.5.tar.gz;
+      sha256 = "0qfdn71562xzmgnhmkkdbpp3vj851ldl1zlmxvharxsr16gjh6s3";
+    };
+    meta = {
+      homepage = http://metacpan.org/release/Test-EOL;
+      description = "Check the correct line endings in your project";
+      license = "perl5";
+    };
+  };
+
   TestException = buildPerlPackage rec {
     name = "Test-Exception-0.31";
     src = fetchurl {
@@ -6213,6 +6627,20 @@ rec {
     propagatedBuildInputs = [ SubUplevel ];
   };
 
+  TestFailWarnings = buildPerlPackage {
+    name = "Test-FailWarnings-0.005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.005.tar.gz;
+      sha256 = "014f909e6c171f77b811139c49c1dca9d0f1e2d1c41b5dca332b6b55b3eb0b4e";
+    };
+    buildInputs = [ CaptureTiny ];
+    meta = {
+      homepage = https://metacpan.org/release/Test-FailWarnings;
+      description = "Add test failures if warnings are caught";
+      license = "apache";
+    };
+  };
+
   TestFatal = buildPerlPackage {
     name = "Test-Fatal-0.010";
     src = fetchurl {
@@ -6333,6 +6761,18 @@ rec {
     };
   };
 
+  TestNoTabs = buildPerlPackage {
+    name = "Test-NoTabs-1.3";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-NoTabs-1.3.tar.gz;
+      sha256 = "06gvj0pgljc7n9rxhvwb0gq9wk51i3ks41lgh7a5ycqfkh9d0glw";
+    };
+    meta = {
+      description = "Check the presence of tabs in your project";
+      license = "perl";
+    };
+  };
+
   TestNoWarnings = buildPerlPackage {
     name = "Test-NoWarnings-1.04";
     src = fetchurl {
@@ -6496,7 +6936,7 @@ rec {
     };
   };
 
-  TestUseOk = buildPerlPackage {
+  Testuseok = buildPerlPackage {
     name = "Test-use-ok-0.11";
     src = fetchurl {
       url = mirror://cpan/authors/id/A/AU/AUDREYT/Test-use-ok-0.11.tar.gz;
@@ -6523,6 +6963,18 @@ rec {
     };
   };
 
+  TestWithoutModule = buildPerlPackage {
+    name = "Test-Without-Module-0.17";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.17.tar.gz;
+      sha256 = "a691b0bf6d92dedbacfd547551021389ebc79c51937de2b914e792457da56ff7";
+    };
+    meta = {
+      description = "Test fallback behaviour in absence of modules";
+      license = "perl";
+    };
+  };
+
   TestWWWMechanize = buildPerlPackage {
     name = "Test-WWW-Mechanize-1.44";
     src = fetchurl {
@@ -6576,7 +7028,7 @@ rec {
   TestXPath = buildPerlModule {
     name = "Test-XPath-0.16";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/D/DW/DWHEELER/Test-XPath-0.16.tar.gz;
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-XPath-0.16.tar.gz;
       sha256 = "09s47d5jcrx35dz623gjiqn0qmjrv0wb54czr7h01wffw1w8akxi";
     };
     propagatedBuildInputs = [ XMLLibXML ];
@@ -6778,10 +7230,6 @@ rec {
       sha256 = "0i1mg3ivxhx09x0w06k15izc92bknwqwh0ghpmhlq9s9iw12mmry";
     };
     propagatedBuildInputs = [ URI ];
-    meta = {
-      description = "Unknown";
-      license = "unknown";
-    };
   };
 
   Throwable = buildPerlPackage rec {
@@ -6811,7 +7259,7 @@ rec {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz;
       sha256 = "1x1smn1kw383xc5h9wajxk9dlx92bgrbf7gk4abga57y6120s6m3";
     };
-    propagatedBuildInputs = [TestUseOk];
+    propagatedBuildInputs = [Testuseok];
   };
 
   TimeDate = buildPerlPackage {
@@ -6996,7 +7444,7 @@ rec {
   };
 
   URIURL = buildPerlPackage {
-    name = "URI-URL-5.04";
+    name = "URI-URL-1.60";
     src = fetchurl {
       url = mirror://cpan/authors/id/G/GA/GAAS/URI-1.60.tar.gz;
       sha256 = "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz";
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index b2a12bf8b50..ec047efecb0 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -53,6 +53,11 @@ rec {
 
         # mv cesa requires this sw fallback, for mv-sha1
         CRYPTO_SHA1 y
+        # Fast crypto
+        CRYPTO_TWOFISH y
+        CRYPTO_TWOFISH_COMMON y
+        CRYPTO_BLOWFISH y
+        CRYPTO_BLOWFISH_COMMON y
 
         IP_PNP y
         IP_PNP_DHCP y
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b01af3f2cd3..0162bae4fa2 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5,14 +5,17 @@ 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; };
 
-pythonPackages = python.modules // rec {
+pythonPackages = modules // rec {
 
   inherit python;
   inherit (pkgs) fetchurl fetchsvn fetchgit stdenv;
 
   # helpers
 
+  callPackage = pkgs.lib.callPackageWith (pkgs // pythonPackages);
+
   buildPythonPackage = import ../development/python-modules/generic {
     inherit (pkgs) lib;
     inherit python wrapPython setuptools recursivePthLoader offlineDistutils;
@@ -21,7 +24,7 @@ pythonPackages = python.modules // rec {
   wrapPython = pkgs.makeSetupHook
     { deps = pkgs.makeWrapper;
       substitutions.libPrefix = python.libPrefix;
-    } 
+    }
    ../development/python-modules/generic/wrap.sh;
 
   # specials
@@ -48,6 +51,8 @@ pythonPackages = python.modules // rec {
 
   # packages defined elsewhere
 
+  blivet = callPackage ../development/python-modules/blivet { };
+
   ipython = import ../shells/ipython {
     inherit (pkgs) stdenv fetchurl sip pyqt4;
     inherit buildPythonPackage pythonPackages;
@@ -61,6 +66,8 @@ pythonPackages = python.modules // rec {
     pylabQtSupport = false;
   });
 
+  nixpart = callPackage ../tools/filesystems/nixpart { };
+
   pil = import ../development/python-modules/pil {
     inherit (pkgs) fetchurl stdenv libjpeg zlib freetype;
     inherit python buildPythonPackage;
@@ -159,7 +166,7 @@ pythonPackages = python.modules // rec {
       pythonPackages.webtest
     ];
 
-    propagatedBuildInputs = [ 
+    propagatedBuildInputs = [
       pkgs.makeWrapper
       pkgs.bacula
       pythonPackages.colander
@@ -290,13 +297,11 @@ pythonPackages = python.modules // rec {
     name = "area53-b2c9cdcabd";
 
     src = fetchgit {
-      url = git://github.com/mariusv/Area53.git;
+      url = git://github.com/bigmlcom/Area53.git;
       rev = "b2c9cdcabd";
       sha256 = "b0c12b8c48ed9180c7475fab18de50d63e1b517cfb46da4d2c66fc406fe902bc";
     };
 
-    installCommand = "python setup.py install --prefix=$out";
-
     # error: invalid command 'test'
     doCheck = false;
 
@@ -438,8 +443,8 @@ pythonPackages = python.modules // rec {
         pythonPackages.mutagen
         pythonPackages.munkres
         pythonPackages.musicbrainzngs
-        python.modules.sqlite3
-        python.modules.readline
+        modules.sqlite3
+        modules.readline
       ];
 
     meta = {
@@ -451,6 +456,26 @@ pythonPackages = python.modules // rec {
   };
 
 
+  bitbucket_api = buildPythonPackage rec {
+    name = "bitbucket-api-0.4.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/b/bitbucket-api/${name}.tar.gz";
+      md5 = "6f3cee3586c4aad9c0b2e04fce9704fb";
+    };
+
+    propagatedBuildInputs = [ requests_oauth2 nose sh ];
+
+    doCheck = false;
+
+    meta = {
+      homepage = https://github.com/Sheeprider/BitBucket-api;
+      description = "Python library to interact with BitBucket REST API";
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
+
   bitstring = buildPythonPackage rec {
     name = "bitstring-3.1.2";
 
@@ -473,50 +498,24 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  bpython = buildPythonPackage rec {
+     name = "bpython-0.12";
+     src = fetchurl {
+       url = "http://www.bpython-interpreter.org/releases/bpython-0.12.tar.gz";
+       sha256 = "1ilf58qq7sazmcgg4f1wswbhcn2gb8qbbrpgm6gf0j2lbm60gabl";
+     };
 
-  blivet = buildPythonPackage rec {
-    name = "blivet-${version}";
-    version = "0.17-1";
-
-    src = fetchurl {
-      url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
-          + "${name}.tar.bz2";
-      sha256 = "0b28q539657mqif0mn5dfqcpqv7gbyszg83gf2fv6z7q6206rnx5";
-    };
-
-    postPatch = ''
-      sed -i -e '/find_library/,/find_library/ {
-        c libudev = "${pkgs.udev}/lib/libudev.so.1"
-      }' blivet/pyudev.py
-      sed -i -e 's|"multipath"|"${pkgs.multipath_tools}/sbin/multipath"|' \
-        blivet/devicelibs/mpath.py blivet/devices.py
-      sed -i -e '/"wipefs"/ {
-        s|wipefs|${pkgs.utillinux}/sbin/wipefs|
-        s/-f/--force/
-      }' blivet/formats/__init__.py
-      sed -i -e 's|"lsof"|"${pkgs.lsof}/bin/lsof"|' blivet/formats/fs.py
-      sed -i -r -e 's|"(u?mount)"|"${pkgs.utillinux}/bin/\1"|' blivet/util.py
-      sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
-    '';
-
-    propagatedBuildInputs = let
-      pyenable = { enablePython = true; };
-      selinuxWithPython = pkgs.libselinux.override pyenable;
-      cryptsetupWithPython = pkgs.cryptsetup.override pyenable;
-    in [
-      pykickstart pyparted pkgs.udev pyblock
-      selinuxWithPython cryptsetupWithPython
-    ];
-
-    # tests are currently _heavily_ broken upstream
-    doCheck = false;
+     propagatedBuildInputs = [ modules.curses pygments ];
+     doCheck = false;
 
-    meta = {
-      homepage = "https://fedoraproject.org/wiki/Blivet";
-      description = "Module for management of a system's storage configuration";
-      license = [ "GPLv2+" "LGPLv2.1+" ];
-    };
-  };
+     meta = {
+       description = "UNKNOWN";
+       homepage = "UNKNOWN";
+       maintainers = [
+         stdenv.lib.maintainers.iElectric
+       ];
+     };
+   };
 
 
   # euca2ools (and maybe Nova) needs boto 1.9, 2.0 doesn't work.
@@ -606,7 +605,7 @@ pythonPackages = python.modules // rec {
   #     rev = "refs/tags/0.9.3";
   #   };
   #
-  #   propagatedBuildInputs = [ pythonPackages.argparse python.modules.ssl ];
+  #   propagatedBuildInputs = [ pythonPackages.argparse modules.ssl ];
   #
   #   doCheck = false;
   #
@@ -778,7 +777,7 @@ pythonPackages = python.modules // rec {
 
 
   colorama = buildPythonPackage rec {
-    name = "clientform-0.2.10";
+    name = "colorama-0.2.5";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/c/colorama/colorama-0.2.5.tar.gz";
@@ -1124,7 +1123,7 @@ pythonPackages = python.modules // rec {
     buildInputs = [ paver ];
 
     postInstall = ''
-      for prog in $out/bin/*; do
+      for prog in "$out/bin/"*; do
         wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
       done
     '';
@@ -1154,7 +1153,7 @@ pythonPackages = python.modules // rec {
     };
     propagatedBuildInputs = [ paramiko pycrypto ];
     buildInputs = [ fudge nose ];
-  }; 
+  };
 
   fudge = buildPythonPackage rec {
     name = "fudge-0.9.4";
@@ -1247,12 +1246,12 @@ pythonPackages = python.modules // rec {
       md5 = "967a04fcb2143b31b279c3013a778a2b";
     };
 
-    buildInputs = [ 
-      docutils 
-      virtualenv 
-      webtest 
-      zope_component 
-      zope_interface 
+    buildInputs = [
+      docutils
+      virtualenv
+      webtest
+      zope_component
+      zope_interface
     ] ++ optional isPy26 unittest2;
 
     propagatedBuildInputs = [
@@ -1490,7 +1489,7 @@ pythonPackages = python.modules // rec {
       PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
       export PYTHONPATH="$dst:$PYTHONPATH"
 
-      python setup.py install --prefix="$out"
+      ${python}/bin/${python.executable} setup.py install --prefix="$out"
 
       eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
       if [ -e "$eapth" ]; then
@@ -1511,29 +1510,6 @@ pythonPackages = python.modules // rec {
   };
 
 
-  distutils2  = buildPythonPackage rec {
-    name = "distutils2-${version}";
-    version = "1.0a4";
-
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/D/Distutils2/Distutils2-${version}.tar.gz";
-      md5 = "52bc9dffb394970c27e02853ae3a3241";
-    };
-
-    patchPhase = ''
-      sed -e "s#html.entities#htmlentitydefs#g" -i distutils2/pypi/simple.py
-    '';
-
-    doCheck = false;
-
-    meta = {
-      description = "A Python Packaging Library";
-      homepage = http://pypi.python.org/pypi/Distutils2;
-      license = "PSF";
-    };
-  };
-
-
   distutils_extra = buildPythonPackage rec {
     name = "distutils-extra-2.26";
 
@@ -1559,7 +1535,7 @@ pythonPackages = python.modules // rec {
     propagatedBuildInputs = with pkgs; [
       pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl
     ];
- 
+
     postInstall = ''
        cp -R deluge/data/share $out/share
        cp -R deluge/data/pixmaps $out/share/
@@ -1691,7 +1667,7 @@ pythonPackages = python.modules // rec {
 
     buildPhase = "make build";
     installCommand = ''
-      python setup.py install --prefix="$out" --root=/ --record="$out/lib/${python.libPrefix}/site-packages/dulwich/list.txt" --single-version-externally-managed
+      ${python}/bin/${python.executable} setup.py install --prefix="$out" --root=/ --record="$out/lib/${python.libPrefix}/site-packages/dulwich/list.txt" --single-version-externally-managed
     '';
 
     # For some reason "python setup.py test" doesn't work with Python 2.6.
@@ -1976,7 +1952,7 @@ pythonPackages = python.modules // rec {
     name = "${baseName}-${version}";
 
     src = fetchurl {
-      url = "http://downloads.sourceforge.net/sourceforge/fuse/fuse-python-${version}.tar.gz";
+      url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz";
       sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi";
     };
 
@@ -2051,11 +2027,11 @@ pythonPackages = python.modules // rec {
 
 
   genzshcomp = buildPythonPackage {
-    name = "genzshcomp-0.2.2";
+    name = "genzshcomp-0.5.1";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/g/genzshcomp/genzshcomp-0.2.2.tar.gz";
-      sha256 = "0bhiyx41kilvy04cgjbvjy2r4b6l7zz31fbrg3l6lvnqm26nihb0";
+      url = "http://pypi.python.org/packages/source/g/genzshcomp/genzshcomp-0.5.1.tar.gz";
+      md5 = "7a954f1835875002e9044fe55ed1b488";
     };
 
     buildInputs = [ pkgs.setuptools ] ++ (optional isPy26 argparse);
@@ -2145,6 +2121,29 @@ pythonPackages = python.modules // rec {
     };
   };
 
+
+  hetzner = buildPythonPackage rec {
+    name = "hetzner-${version}";
+    version = "0.5.0";
+
+    src = fetchurl {
+      url = "https://github.com/RedMoonStudios/hetzner/archive/"
+          + "v${version}.tar.gz";
+      sha256 = "0i8b2nx4mf87qn4zz7kz321cl1bxlvjdwm7yh8md5hrhqbya4jw5";
+    };
+
+    # not there yet, but coming soon.
+    doCheck = false;
+
+    meta = {
+      homepage = "https://github.com/RedMoonStudios/hetzner";
+      description = "High-level Python API for accessing the Hetzner robot";
+      license = stdenv.lib.licenses.bsd3;
+      maintainers = [ stdenv.lib.maintainers.aszlig ];
+    };
+  };
+
+
   html5lib = buildPythonPackage (rec {
     name = "html5lib-0.95";
 
@@ -2272,14 +2271,16 @@ pythonPackages = python.modules // rec {
     };
   });
 
-  jinja2 = buildPythonPackage {
-    name = "jinja2-2.6";
+  jinja2 = buildPythonPackage rec {
+    name = "Jinja2-2.7";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.6.tar.gz";
-      md5 = "1c49a8825c993bfdcf55bb36897d28a2";
+      url = "http://pypi.python.org/packages/source/J/Jinja2/${name}.tar.gz";
+      sha256 = "0kgsd7h27jl2jpqa1ks88h93z50bsg0yr7qkicqpxbl9s4c1aks7";
     };
 
+    propagatedBuildInputs = [ pythonPackages.markupsafe ];
+
     meta = {
       homepage = http://jinja.pocoo.org/;
       description = "Stand-alone template engine";
@@ -2357,12 +2358,13 @@ pythonPackages = python.modules // rec {
     name = "limnoria-20130327";
 
     src = fetchurl {
-      url = https://pypi.python.org/packages/source/l/limnoria/limnoria-2013-03-27T16:32:26+0100.tar.gz;
-      name = "limnoria-2013-03-27.tar.gz";
-      sha256 = "0xfaa6h8css3yhsmx5vcffizrz6mvmgm46q7449z3hq7g3793184";
+      url = https://pypi.python.org/packages/source/l/limnoria/limnoria-2013-06-01T10:32:51+0200.tar.gz;
+      name = "limnoria-2013-06-01.tar.gz";
+      sha256 = "1i8q9zzf43sr3n1q4h6h1z8nz31g4aa8dq94ywvfbh7hklmchq6n";
     };
 
-    propagatedBuildInputs = [ python.modules.sqlite3 ];
+    buildInputs = [ pkgs.git ];
+    propagatedBuildInputs = [ modules.sqlite3 ];
 
     doCheck = false;
 
@@ -2451,10 +2453,10 @@ pythonPackages = python.modules // rec {
 
     configurePhase = "cd python";
 
-    buildPhase = "python setup.py build";
+    buildPhase = "${python}/bin/${python.executable} setup.py build";
 
     installPhase = ''
-      python setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
     meta = {
@@ -2475,7 +2477,7 @@ pythonPackages = python.modules // rec {
 
     buildInputs = [ pkgs.swig pkgs.openssl ];
 
-    buildPhase = "python setup.py build_ext --openssl=${pkgs.openssl}";
+    buildPhase = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}";
 
     doCheck = false; # another test that depends on the network.
 
@@ -2494,8 +2496,8 @@ pythonPackages = python.modules // rec {
       md5 = "daf7cc50f997533b573f9b40193139a2";
     };
 
-    buildInputs = [ MarkupSafe nose ];
-    propagatedBuildInputs = [ MarkupSafe ];
+    buildInputs = [ markupsafe nose ];
+    propagatedBuildInputs = [ markupsafe ];
 
     meta = {
       description = "Super-fast templating language.";
@@ -2506,8 +2508,8 @@ pythonPackages = python.modules // rec {
   };
 
 
-  MarkupSafe = buildPythonPackage rec {
-    name = "MarkupSafe-0.15";
+  markupsafe = buildPythonPackage rec {
+    name = "markupsafe-0.15";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/M/MarkupSafe/${name}.tar.gz";
@@ -2541,12 +2543,12 @@ pythonPackages = python.modules // rec {
   };
 
   markdown = buildPythonPackage rec {
-    version = "2.0.3";
+    version = "2.3.1";
     name = "markdown-${version}";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/M/Markdown/Markdown-2.0.3.tar.gz";
-      md5 = "751e8055be2433dfd1a82e0fb1b12f13";
+      url = "http://pypi.python.org/packages/source/M/Markdown/Markdown-${version}.tar.gz";
+      sha256 = "147j9hznv2r187a86d28glmg3pckfrdp0nz9yh7s1aqpawwdkszz";
     };
 
     # error: invalid command 'test'
@@ -2558,33 +2560,48 @@ pythonPackages = python.modules // rec {
   };
 
 
-  matplotlib = buildPythonPackage ( rec {
-    name = "matplotlib-1.1.0";
+  # not sure if this is the best way to accomplish this -- needed to provide
+  # objective-c compiler on darwin
+  matplotlibStdenv = if stdenv.isDarwin
+    then pkgs.clangStdenv
+    else pkgs.stdenv;
+
+  matplotlib = matplotlibStdenv.mkDerivation (rec {
+    name = "matplotlib-1.2.1";
+
     src = fetchurl {
       url = "http://downloads.sourceforge.net/matplotlib/${name}.tar.gz";
-      sha256 = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7";
+      sha256 = "16x2ksdxx5p92v98qngh29hdz1bnqy77fhggbjq30pyqmrr8kqaj";
     };
 
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ dateutil numpy pkgs.freetype pkgs.libpng pkgs.pkgconfig pkgs.tcl pkgs.tk pkgs.xlibs.libX11 ];
+    buildInputs = [ python pkgs.which pkgs.ghostscript ];
 
-    meta = {
+    propagatedBuildInputs =
+      [ dateutil numpy pkgs.freetype pkgs.libpng pkgs.pkgconfig pkgs.tcl
+        pkgs.tk pkgs.xlibs.libX11 ];
+
+    buildPhase = "python setup.py build";
+
+    installPhase = "python setup.py install --prefix=$out";
+
+    meta = with stdenv.lib; {
       description = "python plotting library, making publication quality plots";
-      homepage = "http://matplotlib.sourceforge.net/";
-      platforms = stdenv.lib.platforms.linux;
-      maintainers = [ stdenv.lib.maintainers.simons ];
+      homepage    = "http://matplotlib.sourceforge.net/";
+      maintainers = with maintainers; [ lovek323 simons ];
+      platforms   = platforms.unix;
     };
   });
 
 
   mccabe = buildPythonPackage (rec {
-    name = "mccabe-0.2";
+    name = "mccabe-0.2.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/m/mccabe/${name}.tar.gz";
-      md5 = "c1012c7c24081471f45aab864d4e3805";
+      md5 = "5a3f3fa6a4bad126c88aaaa7dab682f5";
     };
 
     buildInputs = [ ];
@@ -2658,7 +2675,7 @@ pythonPackages = python.modules // rec {
       url = "${meta.homepage}/download/${name}.tar.gz";
       sha256 = "1ddqni6d4kc8ypl6yig4nc00izvbk359sz6hykb9g0lfcpfqlngj";
     };
-    
+
     buildInputs = [
       pkgs.pyopenssl pyasn1 urwid pil lxml flask protobuf netlib
     ];
@@ -2666,7 +2683,7 @@ pythonPackages = python.modules // rec {
     doCheck = false;
 
     postInstall = ''
-      for prog in $out/bin/*; do
+      for prog in "$out/bin/"*; do
         wrapProgram "$prog" \
           --prefix PYTHONPATH : "$PYTHONPATH"
       done
@@ -2729,7 +2746,7 @@ pythonPackages = python.modules // rec {
 
     buildInputs = [ pkgs.unzip ];
 
-    propagatedBuildInputs = [ argparse jinja2 six python.modules.readline ] ++
+    propagatedBuildInputs = [ argparse jinja2 six modules.readline ] ++
                             (optionals isPy26 [ importlib ordereddict ]);
 
     meta = {
@@ -2885,6 +2902,21 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  netifaces = buildPythonPackage rec {
+    version = "0.8";
+    name = "netifaces-${version}";
+
+    src = fetchurl {
+      url = "http://alastairs-place.net/projects/netifaces/${name}.tar.gz";
+      sha256 = "1v5i39kx4yz1pwgjfbzi63w55l2z318zgmi9f77ybmmkil1i39sk";
+    };
+
+    meta = {
+      homepage = http://alastairs-place.net/projects/netifaces/;
+      description = "Portable access to network interfaces from Python";
+    };
+  };
+
   netlib = buildPythonPackage rec {
     baseName = "netlib";
     name = "${baseName}-${meta.version}";
@@ -2894,7 +2926,7 @@ pythonPackages = python.modules // rec {
       name = "${name}.tar.gz";
       sha256 = "1y8lx2j1jrr93mqfb06zg1x5jm9lllw744sb61ib8dagw43nnq3v";
     };
-    
+
     buildInputs = [
       pkgs.pyopenssl pyasn1
     ];
@@ -2950,32 +2982,12 @@ pythonPackages = python.modules // rec {
     };
   });
 
-  nixpart = buildPythonPackage rec {
-    name = "nixpart-${version}";
-    version = "0.2.0";
-
-    src = fetchurl {
-      url = "https://github.com/aszlig/nixpart/archive/v${version}.tar.gz";
-      sha256 = "1z94h76jn9igksgr84wwbi03fjamwb15hg432x189kgsld1ark4n";
-    };
-
-    propagatedBuildInputs = [ blivet ];
-
-    doCheck = false;
-
-    meta = {
-      description = "NixOS storage manager/partitioner";
-      license = pkgs.lib.licenses.gpl2Plus;
-      maintainers = [ stdenv.lib.maintainers.aszlig ];
-    };
-  };
-
   nose = buildPythonPackage rec {
-    name = "nose-1.2.1";
+    name = "nose-1.3.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz";
-      md5 = "735e3f1ce8b07e70ee1b742a8a53585a";
+      sha256 = "0q2j9zz39h3liwbp6lb94kl3sxb9z9rbwh5dzyccyxfy4lrwqqsf";
     };
 
     meta = {
@@ -2985,6 +2997,11 @@ pythonPackages = python.modules // rec {
     buildInputs = [ coverage ];
 
     doCheck = ! stdenv.isDarwin;
+    checkPhase = if python.is_py3k or false then ''
+      ${python}/bin/${python.executable} setup.py build_tests
+    '' else "" + ''
+      ${python}/bin/${python.executable} selftest.py
+    '';
   };
 
   nose2 = if isPy26 then null else (buildPythonPackage rec {
@@ -3022,6 +3039,22 @@ pythonPackages = python.modules // rec {
     buildInputs = [ nose ];
   };
 
+  nose-cprof = buildPythonPackage rec {
+    name = "nose-cprof-0.1-0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/n/nose-cprof/${name}.tar.gz";
+      md5 = "5db27c3b8f01915335ae6fc5fd3afd44";
+    };
+
+    meta = {
+      description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler.";
+    };
+
+    buildInputs = [ nose ];
+  };
+
+
   notify = pkgs.stdenv.mkDerivation (rec {
     name = "python-notify-0.1.1";
 
@@ -3074,18 +3107,22 @@ pythonPackages = python.modules // rec {
   };
 
   numpy = buildPythonPackage ( rec {
-    name = "numpy-1.6.1";
+    name = "numpy-1.7.1";
 
     src = fetchurl {
       url = "mirror://sourceforge/numpy/${name}.tar.gz";
-      sha256 = "1pawfmf7j7pd3mjzhmmw9hkglc2qdirrkvv29m5nsmpf2b3ip2vq";
+      sha256 = "0jh832j439jj2b7m1z5a4rv5cpdn1yiw1r6gwrhdihw562d029am";
     };
 
+    preConfigure = ''
+      sed -i 's/-faltivec//' numpy/distutils/system_info.py
+    '';
+
     # TODO: add ATLAS=${pkgs.atlas}
     installCommand = ''
       export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
-      python setup.py build --fcompiler="gnu95"
-      python setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95"
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
     # error: invalid command 'test'
@@ -3124,6 +3161,26 @@ pythonPackages = python.modules // rec {
     };
   });
 
+
+  oauthlib = buildPythonPackage rec {
+    name = "oauthlib-0.5.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/o/oauthlib/${name}.tar.gz";
+      md5 = "d12c507de33403ebdf290fbffdb98213";
+    };
+
+    buildInputs = [ mock nose unittest2 ];
+
+    propagatedBuildInputs = [ pycrypto ];
+
+    meta = {
+      homepage = https://github.com/idan/oauthlib;
+      description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
+    };
+  };
+
+
   obfsproxy = buildPythonPackage ( rec {
     name = "obfsproxy-0.2.2";
     src = fetchgit {
@@ -3213,7 +3270,7 @@ pythonPackages = python.modules // rec {
     };
 
     buildInputs = [ nose ];
-    propagatedBuildInputs = [ dateutil numpy pytz python.modules.sqlite3 ];
+    propagatedBuildInputs = [ dateutil numpy pytz modules.sqlite3 ];
 
     # Tests require networking to pass
     doCheck = false;
@@ -3228,7 +3285,7 @@ pythonPackages = python.modules // rec {
   };
 
   paramiko = buildPythonPackage rec {
-    name = "paramiko-1.10";
+    name = "paramiko-1.10.1";
 
     src = fetchurl {
       url = https://pypi.python.org/packages/source/p/paramiko/paramiko-1.10.1.tar.gz;
@@ -3297,11 +3354,11 @@ pythonPackages = python.modules // rec {
 
   pep8 = buildPythonPackage rec {
     name = "pep8-${version}";
-    version = "1.4.5";
+    version = "1.4.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz";
-      md5 = "055dbd22ac5669232fdba752612e9686";
+      md5 = "a03bb494859e87b42601b61b1b043a0c";
     };
 
     #======================================================================
@@ -3331,7 +3388,7 @@ pythonPackages = python.modules // rec {
     name = "pexpect-2.3";
 
     src = fetchurl {
-      url = "http://pexpect.sourceforge.net/pexpect-2.3.tar.gz";
+      url = "mirror://sourceforge/pexpect/pexpect-2.3.tar.gz";
       sha256 = "0x8bfjjqygriry1iyygm5048ykl5qpbpzqfp6i8dhkslm3ryf5fk";
     };
 
@@ -3410,20 +3467,23 @@ pythonPackages = python.modules // rec {
 
 
   pillow = buildPythonPackage rec {
-    name = "Pillow-1.7.8";
+    name = "Pillow-2.1.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip";
-      md5 = "41d8688d4db72673069a6dc63b5289d6";
+      md5 = "ec630d8ae15d4a3c4ae7b7efdeac8200";
     };
 
-    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib ];
+    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib pkgs.libtiff pkgs.libwebp ];
 
+    # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
     configurePhase = ''
       sed -i "setup.py" \
           -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = _lib_include("${pkgs.freetype}")|g ;
               s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ;
-              s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ;'
+              s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ;
+              s|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ;
+              s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;'
     '';
 
     doCheck = true;
@@ -3446,6 +3506,17 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  plumbum = buildPythonPackage rec {
+    name = "plumbum-1.2.0";
+
+    buildInputs = [ pythonPackages.six ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/plumbum/plumbum-1.2.0.tar.gz";
+      md5 = "18b7f888dfaf62a48df937abffe07897";
+    };
+  };
+
 
   polib = buildPythonPackage rec {
     name = "polib-${version}";
@@ -3502,7 +3573,7 @@ pythonPackages = python.modules // rec {
       homepage = https://github.com/Lokaltog/powerline;
       description = "The ultimate statusline/prompt utility.";
       license = with stdenv.lib.licenses; mit;
-      platforms = with stdenv.lib.platforms; all; 
+      platforms = with stdenv.lib.platforms; all;
     };
   };
 
@@ -3551,14 +3622,14 @@ pythonPackages = python.modules // rec {
 
 
   psycopg2 = buildPythonPackage rec {
-    name = "psycopg2-2.0.13";
+    name = "psycopg2-2.5.1";
 
     # error: invalid command 'test'
     doCheck = false;
 
     src = fetchurl {
-      url = "http://initd.org/pub/software/psycopg/PSYCOPG-2-0/${name}.tar.gz";
-      sha256 = "0arkaa1nbbd3pyn4l1bc75wi7nff3vxxh4s8sj5al5hv20p64pm1";
+      url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.1.tar.gz";
+      sha256 = "1v7glzzzykbaqj7dhpr0qds9cf4maxmn7f5aazpqnbg0ly40r9v5";
     };
 
     propagatedBuildInputs = [ pkgs.postgresql ];
@@ -3629,12 +3700,12 @@ pythonPackages = python.modules // rec {
     buildInputs = [ python pkgs.portaudio ];
 
     buildPhase = if stdenv.isDarwin then ''
-      PORTAUDIO_PATH="${pkgs.portaudio}" python setup.py build --static-link
+      PORTAUDIO_PATH="${pkgs.portaudio}" ${python}/bin/${python.executable} setup.py build --static-link
     '' else ''
-      python setup.py build
+      ${python}/bin/${python.executable} setup.py build
     '';
 
-    installPhase = "python setup.py install --prefix=$out";
+    installPhase = "${python}/bin/${python.executable} setup.py install --prefix=$out";
 
     meta = {
       description = "Python bindings for PortAudio";
@@ -3800,11 +3871,11 @@ pythonPackages = python.modules // rec {
   };
 
   pyflakes = buildPythonPackage rec {
-    name = "pyflakes-0.6.1";
+    name = "pyflakes-0.7.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyflakes/${name}.tar.gz";
-      md5 = "00debd2280b962e915dfee552a675915";
+      md5 = "ec94ac11cb110e6e72cca23c104b66b1";
     };
 
     buildInputs = [ unittest2 ];
@@ -3890,7 +3961,7 @@ pythonPackages = python.modules // rec {
     buildInputs = [ python ];
 
     installPhase = ''
-      python setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
     meta = {
@@ -3919,7 +3990,7 @@ pythonPackages = python.modules // rec {
     propagatedBuildInputs = [ urlgrabber ];
 
     checkPhase = ''
-      python tests/baseclass.py -vv
+      ${python}/bin/${python.executable} tests/baseclass.py -vv
     '';
 
     meta = {
@@ -3997,7 +4068,7 @@ pythonPackages = python.modules // rec {
     propagatedBuildInputs = [ pkgs.parted ];
 
     checkPhase = ''
-      python -m unittest discover -v
+      ${python}/bin/${python.executable} -m unittest discover -v
     '';
 
     meta = {
@@ -4144,6 +4215,11 @@ pythonPackages = python.modules // rec {
 
     propagatedBuildInputs = [ logilab_astng ];
 
+    postInstall = ''
+      mkdir -p $out/share/emacs/site-lisp
+      cp "elisp/"*.el $out/share/emacs/site-lisp/
+    '';
+
     meta = {
       homepage = http://www.logilab.org/project/pylint;
       description = "A bug and style checker for Python";
@@ -4490,6 +4566,7 @@ pythonPackages = python.modules // rec {
     };
   };
 
+
   requests = buildPythonPackage rec {
     name = "requests-1.2.0";
 
@@ -4505,6 +4582,40 @@ pythonPackages = python.modules // rec {
   };
 
 
+  requests_oauthlib = buildPythonPackage rec {
+    name = "requests-oauthlib-0.3.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/r/requests-oauthlib/${name}.tar.gz";
+      md5 = "35b3b750493c231145c39db0216813e7";
+    };
+
+    propagatedBuildInputs = [ oauthlib requests ];
+
+    meta = {
+      description = "OAuthlib authentication support for Requests";
+      homepage = https://github.com/requests/requests-oauthlib;
+    };
+  };
+
+
+  requests_oauth2 = buildPythonPackage rec {
+    name = "requests-oauth2-0.1.1";
+
+    src = fetchurl {
+      url = https://github.com/maraujop/requests-oauth2/archive/0.1.1.tar.gz;
+      sha256 = "1aij66qg9j5j4vzyh64nbg72y7pcafgjddxsi865racsay43xfqg";
+    };
+
+    propagatedBuildInputs = [ requests_oauthlib ];
+
+    meta = {
+      description = "Python's Requests OAuth2 (Open Authentication) plugin";
+      homepage = https://github.com/maraujop/requests-oauth2;
+    };
+  };
+
+
   reviewboard = buildPythonPackage rec {
     name = "ReviewBoard-1.6.16";
 
@@ -4515,7 +4626,7 @@ pythonPackages = python.modules // rec {
 
     propagatedBuildInputs =
       [ recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments
-        djblets django_1_3 django_evolution pycrypto python.modules.sqlite3
+        djblets django_1_3 django_evolution pycrypto modules.sqlite3
         pysvn pil psycopg2
       ];
   };
@@ -4629,8 +4740,8 @@ pythonPackages = python.modules // rec {
     # TODO: add ATLAS=${pkgs.atlas}
     installCommand = ''
       export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
-      python setup.py build --fcompiler="gnu95"
-      python setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95"
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
     meta = {
@@ -4677,7 +4788,7 @@ pythonPackages = python.modules // rec {
         };
 
       preInstall = ''
-        cp ${x_ignore_nofocus}/* .
+        cp "${x_ignore_nofocus}/"* .
         sed -i 's|dlopen(library,|dlopen("libX11.so.6",|' x_ignore_nofocus.c
         gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
         gcc -shared -Wl,-soname,x_ignore_nofocus.so -o x_ignore_nofocus.so  x_ignore_nofocus.o
@@ -4728,11 +4839,11 @@ pythonPackages = python.modules // rec {
 
 
   simplejson = buildPythonPackage (rec {
-    name = "simplejson-2.1.3";
+    name = "simplejson-3.3.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz";
-      md5 = "58d9b1d8fa17ea4ce205cea088607e02";
+      md5 = "0e29b393bceac8081fa4e93ff9f6a001";
     };
 
     meta = {
@@ -4769,6 +4880,23 @@ pythonPackages = python.modules // rec {
   };
 
 
+  sh = buildPythonPackage rec {
+    name = "sh-1.08";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/s/sh/${name}.tar.gz";
+      md5 = "4028bcba85daa0aef579ed24261e88a3";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "Python subprocess interface";
+      homepage = http://pypi.python.org/pypi/sh/;
+    };
+  };
+
+
   six = buildPythonPackage rec {
     name = "six-1.3.0";
 
@@ -4874,17 +5002,24 @@ pythonPackages = python.modules // rec {
   });
 
 
-  sqlalchemy = buildPythonPackage {
-    name = "sqlalchemy-0.7.9";
+  sqlalchemy = buildPythonPackage rec {
+    name = "sqlalchemy-${version}";
+    version = "0.7.10";
 
     src = fetchurl {
-      url = mirror://sourceforge/sqlalchemy/0.7.9/SQLAlchemy-0.7.9.tar.gz;
-      md5 = "c4852d586d95a59fbc9358f4467875d5";
+      url = "http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-${version}.tar.gz";
+      sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp";
     };
 
+    patches = [
+      # see https://groups.google.com/forum/#!searchin/sqlalchemy/module$20logging$20handlers/sqlalchemy/ukuGhmQ2p6g/2_dOpBEYdDYJ
+      # waiting for 0.7.11 release
+      ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch
+    ];
+
     buildInputs = [ nose ];
 
-    propagatedBuildInputs = [ python.modules.sqlite3 ];
+    propagatedBuildInputs = [ modules.sqlite3 ];
 
     meta = {
       homepage = http://www.sqlalchemy.org/;
@@ -4941,11 +5076,11 @@ pythonPackages = python.modules // rec {
 
   subunit = buildPythonPackage rec {
     name = "subunit-${version}";
-    version = "0.0.9";
+    version = "0.0.13";
 
     src = fetchurl {
-      url = "https://launchpad.net/subunit/trunk/0.0.9/+download/python-${name}.tar.gz";
-      sha256 = "0g3bk8lfd52zjzg43h47h2kckchm3xyv1gcr85nca2i50rcrpj56";
+      url = "https://launchpad.net/subunit/trunk/${version}/+download/python-${name}.tar.gz";
+      sha256 = "0f3xni4z1hbmg4dqxak85ibpf9pajxn6qzw1xj79gwnr8xxb66zj";
     };
 
     propagatedBuildInputs = [ testtools ];
@@ -5020,13 +5155,15 @@ pythonPackages = python.modules // rec {
 
   testtools = buildPythonPackage rec {
     name = "testtools-${version}";
-    version = "0.9.24";
+    version = "0.9.32";
 
     src = fetchurl {
-      url = "https://launchpad.net/testtools/0.9/0.9.24/+download/${name}.tar.gz";
-      sha256 = "0mgkvd7c1aw34nlnz2nmll5k01aqhixxiikbs2nfyk3xfa4221x7";
+      url = "https://pypi.python.org/packages/source/t/testtools/${name}.tar.gz";
+      sha256 = "1smgk3y7xfzh5xk5wydb6n5lx4g5i6y4w8ajrdnskx1jqr67wyyq";
     };
 
+    propagatedBuildInputs = [ pythonPackages.python_mimeparse pythonPackages.extras ];
+
     meta = {
       description = "A set of extensions to the Python standard library's unit testing framework";
       homepage = http://pypi.python.org/pypi/testtools;
@@ -5035,6 +5172,46 @@ pythonPackages = python.modules // rec {
   };
 
 
+  python_mimeparse = buildPythonPackage rec {
+    name = "python-mimeparse-${version}";
+    version = "0.1.4";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/python-mimeparse/${name}.tar.gz";
+      sha256 = "1hyxg09kaj02ri0rmwjqi86wk4nd1akvv7n0dx77azz76wga4s9w";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges.";
+      homepage = https://code.google.com/p/mimeparse/;
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
+
+  extras = buildPythonPackage rec {
+    name = "extras-${version}";
+    version = "0.0.3";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/e/extras/extras-${version}.tar.gz";
+      sha256 = "1h7zx4dfyclalg0fqnfjijpn0f793a9mx8sy3b27gd31nr6dhq3s";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges.";
+      homepage = https://code.google.com/p/mimeparse/;
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
+
   # TODO
   # py.error.EACCES: [Permission denied]: mkdir('/homeless-shelter',)
   # builder for `/nix/store/0czwg0n3pfkmpjphqv1jxfjlgkbziwsx-python-tox-1.4.3.drv' failed with exit code 1
@@ -5063,7 +5240,7 @@ pythonPackages = python.modules // rec {
 
     PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
 
-    propagatedBuildInputs = [ genshi pkgs.setuptools python.modules.sqlite3 ];
+    propagatedBuildInputs = [ genshi pkgs.setuptools modules.sqlite3 ];
 
     meta = {
       description = "Enhanced wiki and issue tracking system for software development projects";
@@ -5151,7 +5328,7 @@ pythonPackages = python.modules // rec {
   });
 
   twisted = buildPythonPackage rec {
-    name = "twisted-12.3.0";
+    name = "twisted-10.2.0";
 
     src = fetchurl {
       url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2;
@@ -5184,12 +5361,18 @@ pythonPackages = python.modules // rec {
 
 
   unittest2 = buildPythonPackage rec {
-    name = "unittest2-0.5.1";
+    version = "0.5.1";
+    name = "unittest2-${version}";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/u/unittest2/${name}.tar.gz";
-      md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
-    };
+    src = if python.is_py3k or false
+       then fetchurl {
+           url = "http://pypi.python.org/packages/source/u/unittest2py3k/unittest2py3k-${version}.tar.gz";
+           sha256 = "00yl6lskygcrddx5zspkhr0ibgvpknl4678kkm6s626539grq93q";
+         }
+       else fetchurl {
+           url = "http://pypi.python.org/packages/source/u/unittest2/unittest2-${version}.tar.gz";
+           md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
+         };
 
     meta = {
       description = "A backport of the new features added to the unittest testing framework in Python 2.7";
@@ -5240,15 +5423,18 @@ pythonPackages = python.modules // rec {
   });
 
   virtualenv = buildPythonPackage rec {
-    name = "virtualenv-1.9.1";
+    name = "virtualenv-1.10";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz";
-      md5 = "07e09df0adfca0b2d487e39a4bf2270a";
+      md5 = "9745c28256c70c76d36adb3767a00212";
     };
 
+    inherit recursivePthLoader;
+    pythonPath = [ recursivePthLoader ];
+
     patches = [ ../development/python-modules/virtualenv-change-prefix.patch ];
 
-    propagatedBuildInputs = [ python.modules.readline python.modules.sqlite3 ];
+    propagatedBuildInputs = [ modules.readline modules.sqlite3 modules.curses ];
 
     buildInputs = [ mock nose ];
 
@@ -5288,6 +5474,8 @@ pythonPackages = python.modules // rec {
       md5 = "7a3094d812c0dffb948d1334ef5fd56f";
     };
 
+    doCheck = false;
+
     meta = {
        maintainers = [
          stdenv.lib.maintainers.garbas
@@ -5306,7 +5494,7 @@ pythonPackages = python.modules // rec {
       md5 = "11825b7074ba7043e157805e4e6e0f55";
     };
 
-    propagatedBuildInputs = [ nose python.modules.ssl ];
+    propagatedBuildInputs = [ nose modules.ssl ];
 
     meta = {
       description = "WSGI request and response object";
@@ -5960,13 +6148,14 @@ pythonPackages = python.modules // rec {
 
   zope_testing = buildPythonPackage rec {
     name = "zope.testing-${version}";
-    version = "4.1.1";
+    version = "4.1.2";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz";
-      md5 = "2e3829841090d6adff718b8b73c87b6b";
+      url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.zip";
+      md5 = "01c30c342c6a18002a762bd5d320a6e9";
     };
 
+    buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ];
 
     meta = {
@@ -5980,16 +6169,16 @@ pythonPackages = python.modules // rec {
 
   zope_testrunner = buildPythonPackage rec {
     name = "zope.testrunner-${version}";
-    version = "4.0.4";
+    version = "4.4.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip";
-      md5 = "cd648fc865a79aa0950e73342836dd4c";
+      md5 = "1d689abad000419891494b30dd7d8190";
     };
 
     buildInputs = [ pkgs.unzip ];
 
-    propagatedBuildInputs = [ subunit zope_interface zope_exceptions zope_testing ];
+    propagatedBuildInputs = [ subunit zope_interface zope_exceptions zope_testing six ];
 
     meta = {
       description = "A flexible test runner with layer support";
@@ -6097,7 +6286,7 @@ pythonPackages = python.modules // rec {
     };
 
     buildInputs = [ pkgs.unzip unittest2 nose mock ];
-    propagatedBuildInputs = [ python.modules.curses libarchive ];
+    propagatedBuildInputs = [ modules.curses libarchive ];
 
     # two tests fail
     doCheck = false;
@@ -6239,7 +6428,7 @@ pythonPackages = python.modules // rec {
       md5 = "32749ffadfc40fea51075a7def32588b";
     };
 
-    buildInputs = [ routes MarkupSafe webob nose ];
+    buildInputs = [ routes markupsafe webob nose ];
 
     # TODO: failing tests https://bitbucket.org/bbangert/webhelpers/pull-request/1/fix-error-on-webob-123/diff
     doCheck = false;
@@ -6338,7 +6527,7 @@ pythonPackages = python.modules // rec {
       sha256 = "1gj8i6j2i172cldqw98395235bn78ciagw6v17fgv01rmind3lag";
     };
 
-    buildInputs = [ django pkgs.pycairo ldap memcached python.modules.sqlite3 ];
+    buildInputs = [ django pkgs.pycairo ldap memcached modules.sqlite3 ];
 
     # error: invalid command 'test'
     doCheck = false;
@@ -6352,17 +6541,17 @@ pythonPackages = python.modules // rec {
 
   pyspotify = buildPythonPackage rec {
     name = "pyspotify-${version}";
-  
+
     version = "1.11";
-  
+
     src = fetchurl {
       url = "https://github.com/mopidy/pyspotify/archive/v1.11.tar.gz";
       sha256 = "089ml6pqr3f2d15n70jpzbaqjp5pjgqlyv4algkxw92xscjw2izg";
     };
-  
+
     buildInputs = [ pkgs.libspotify ]
       ++ stdenv.lib.optional stdenv.isDarwin pkgs.install_name_tool;
-  
+
     # python zip complains about old timestamps
     preConfigure = ''
       find -print0 | xargs -0 touch
@@ -6375,10 +6564,10 @@ pythonPackages = python.modules // rec {
           ${pkgs.libspotify}/lib/libspotify.dylib \
           {} \;
     '';
-  
+
     # There are no tests
     doCheck = false;
-  
+
     meta = with stdenv.lib; {
       homepage    = http://pyspotify.mopidy.com;
       description = "A Python interface to Spotify’s online music streaming service";
@@ -6390,23 +6579,23 @@ pythonPackages = python.modules // rec {
 
   pykka = buildPythonPackage rec {
     name = "pykka-${version}";
-  
+
     version = "1.1.0";
-  
+
     src = fetchgit {
       url = "https://github.com/jodal/pykka.git";
       rev = "refs/tags/v${version}";
       sha256 = "0w6bcaqkzwmd9habszlgjkp3kkhkna08s9aivnmna5hddsghfqmz";
     };
-  
+
     # python zip complains about old timestamps
     preConfigure = ''
       find -print0 | xargs -0 touch
     '';
-  
+
     # There are no tests
     doCheck = false;
-  
+
     meta = {
       homepage = http://www.pykka.org;
       description = "A Python implementation of the actor model";
@@ -6416,23 +6605,23 @@ pythonPackages = python.modules // rec {
 
   ws4py = buildPythonPackage rec {
     name = "ws4py-${version}";
-  
+
     version = "git-20130303";
-  
+
     src = fetchgit {
       url = "https://github.com/Lawouach/WebSocket-for-Python.git";
       rev = "ace276500ca7e4c357595e3773be151d37bcd6e2";
       sha256 = "04m4m3ncn7g4rb81xg5n28imns7rsq8d2w98gjpaib6vlmyly3g1";
     };
-  
+
     # python zip complains about old timestamps
     preConfigure = ''
       find -print0 | xargs -0 touch
     '';
-  
+
     # Tests depend on other packages
     doCheck = false;
-  
+
     meta = {
       homepage = https://ws4py.readthedocs.org;
       description = "A WebSocket package for Python";
@@ -6482,12 +6671,12 @@ pythonPackages = python.modules // rec {
 
   Logbook = buildPythonPackage rec {
     name = "Logbook-${version}";
-    version = "0.4.1";
+    version = "0.4.2";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/L/Logbook/${name}.tar.gz";
       # md5 = "143cb15af4c4a784ca785a1546ad1b93";
-      sha256 = "0iim9pcyl57c6z9i1kfw5nz92qrnpz2l0bz4lir2xrqi8m03q3d7";
+      sha256 = "1g2pnhxh7m64qsrs0ifwcmpfk7gqjvrawd8z66i001rsdnq778v0";
     };
 
     meta = {
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index 9cde018632f..e09c3a76ddc 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -1,13 +1,15 @@
 /*
-  This file will be evaluated by hydra with a call like this:
-  hydra_eval_jobs --gc-roots-dir \
-    /nix/var/nix/gcroots/per-user/hydra/hydra-roots --argstr \
-    system i686-linux --argstr system x86_64-linux --arg \
-    nixpkgs "{outPath = ./}" .... release.nix
-
-  Hydra can be installed with "nix-env -i hydra".
+   test for example like this
+   $ nix-build pkgs/top-level/release-python.nix
 */
-with (import ./release-lib.nix);
+
+{ nixpkgs ? { outPath = (import ./all-packages.nix {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
+, officialRelease ? false
+, # The platforms for which we build Nixpkgs.
+  supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" "x86_64-freebsd" "i686-freebsd" ]
+}:
+
+with import ./release-lib.nix {inherit supportedSystems; };
 
 let
   jobsForDerivations = attrset: pkgs.lib.attrsets.listToAttrs
@@ -19,12 +21,13 @@ let
           (n: v: (v.type or null) == "derivation")
           attrset)));
 
-in
-{
 
-  tarball = import ./make-tarball.nix;
+  jobs =
+    {
 
-} // (mapTestOn rec {
+   # } // (mapTestOn ((packagesWithMetaPlatform pkgs) // rec {
+
+    } // (mapTestOn rec {
 
   a2jmidid = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   aacskeys = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
@@ -1093,7 +1096,6 @@ in
     iscsitarget = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     iwlwifi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     klibc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kqemu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     ndiswrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     nvidia_x11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     nvidia_x11_legacy173 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
@@ -1993,4 +1995,6 @@ in
   zsnes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   zynaddsubfx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   zziplib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-})
+});
+
+in jobs
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index f50b373cb48..b0c38eee986 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -51,7 +51,6 @@ with import ./release-lib.nix { inherit supportedSystems; };
   gcc33 = linux;
   gcc34 = linux;
   gcc42 = linux;
-  gcc43_multi = ["x86_64-linux"];
   gcc44 = linux;
   gcj44 = linux;
   ghdl = linux;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 8a711d56405..9734adc3497 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -115,7 +115,6 @@ let
       gcc33 = linux;
       gcc34 = linux;
       gcc42 = linux;
-      gcc43_multi = ["x86_64-linux"];
       gcc44 = linux;
       gcj44 = linux;
       ghdl = linux;